method names nounVerb or verbNoun
steve at REMOVE-THIS-cybersource.com.au
Fri Feb 5 23:45:51 CET 2010
On Fri, 05 Feb 2010 12:26:38 -0800, Chris Rebert wrote:
> On Fri, Feb 5, 2010 at 11:53 AM, Wanderer <wanderer at dialup4less.com>
>> Which is the more accepted way to compose method names nounVerb or
>> For example voltageGet or getVoltage? getVoltage sounds more normal,
>> but voltageGet is more like voltage.Get. I seem to mix them and I
>> should probably pick one way and stick with it.
> Use properties and just call it `voltage`. Python is not Java ;
> explicit getters/setters are unpythonic.
But sometimes you still need methods or functions of the form verb_noun.
For instance, if getting or setting the voltage is an expensive
operation, you don't want to fool the user into thinking it is a cheap
attribute access. Or get_voltage might be a stand-alone function rather
than a method. Or the getter might allow additional arguments.
The admonition to avoid getters and setters isn't meant to prohibit *any*
method which has a get/set in the name (whether implicit or explicit).
It's meant as an antidote to the Java idiom of making *every* attribute
private and accessing them via getters/setters, even when all they do is
merely get/set the contents of the attribute.
More information about the Python-list