[openstack-dev] [neutron][all] Naming convention for unused variables
Robert Collins
robertc at robertcollins.net
Tue Oct 14 01:32:46 UTC 2014
On 14 October 2014 14:28, Angus Lees <gus at inodes.org> wrote:
> (Context: https://review.openstack.org/#/c/117418/)
>
> I'm looking for some rough consensus on what naming conventions we want for
> unused variables in Neutron, and across the larger OpenStack python codebase
> since there's no reason for Neutron to innovate here.
>
> As far as I can see, there are two cases:
>
>
> 1. The "I just don't care" variable
>
> Eg: _, _, filename = path.rpartition('/')
>
> In python this is very commonly '_', but this conflicts with the gettext
> builtin so we should avoid it in OpenStack.
>
> Possible candidates include:
>
> a. 'x'
> b. '__' (double-underscore)
> c. No convention
b works for me, its aesthetically close to the _ for Python itself.
>
> 2. "I know it is unused, but the name still serves as documentation"
>
> Note this turns up as two cases: as a local, and as a function parameter.
>
> Eg: out, _err = execute('df', path)
>
> Eg: def makefile(self, _mode, _other):
> return self._buffer
>
> I deliberately chose that second example to highlight that the leading-
> underscore convention collides with its use for private properties.
>
> Possible candidates include:
>
> a. _foo (leading-underscore, note collides with private properties)
> b. unused_foo (suggested in the Google python styleguide)
> c. NOQA_foo (as suggested in c/117418)
> d. No convention (including not indicating that variables are known-unused)
I would say a) and don't signal function parameter use via the
parameter names: the only reason to have unused parameters is when we
are implementing a contract specified elsewhere, and in that case, the
parameter name from elsewhere should be used.
-Rob
--
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud
More information about the OpenStack-dev
mailing list