GenericMappingTools / pygmt

A Python interface for the Generic Mapping Tools.
https://www.pygmt.org
BSD 3-Clause "New" or "Revised" License
759 stars 220 forks source link

Parameters vs Arguments? #886

Closed seisman closed 3 years ago

seisman commented 3 years ago

For function parameters like frame, region, we're inconsistently calling them "parameters", "arguments", or "options".

I thought the correct way is calling frame an "argument", but after reading this FAQ (https://docs.python.org/3.9/faq/programming.html#faq-argument-vs-parameter), I think we should call frame a "parameter".

Thoughts? @GenericMappingTools/python @GenericMappingTools/python-maintainers

weiji14 commented 3 years ago

A quick CTRL+F yielded >100 instances of 'argument' in the PyGMT project currently. Some are correctly called 'argument', but not all of them. It will be a big task to replace all of them, so maybe just be careful going forward and replace things on an ad-hoc basis (e.g. when refactoring stuff). I think most people won't get too hung up on whether we call it 'parameter' or 'argument', they know that it is 'something' handled by the program.

As for 'option', I think it's fine to use as a synonym for 'parameter'.

seisman commented 3 years ago

It will be a big task to replace all of them, so maybe just be careful going forward and replace things on an ad-hoc basis (e.g. when refactoring stuff).

Yes, I agree. It would be better to document it in the contributing guides.

maxrjones commented 3 years ago

In #881, I found that another common inconsistency involved referencing the arguments of parameters as options. Based on this discussion, it seems that these should be only referred to as 'arguments' if 'option' is a synonym for 'parameter'.

seisman commented 3 years ago

Almost done. Closing the issue.