Dreaming of new generation IDE

Steven D'Aprano steven at REMOVE.THIS.cybersource.com.au
Thu Feb 4 01:01:06 CET 2010

On Wed, 03 Feb 2010 16:38:21 -0600, Robert Kern wrote:

>>> class.method(name, count)
>> Obviously? I don't know about that. Being told that "count" is an int
>> doesn't really help me -- it's obvious just from the name. In a well-
>> written API, what else could it be?
> A bool. As in telling the method whether or not it should count
> something.

Ha ha, good point. I question that this is a well-written API: such flags 
to change the behaviour of a function/method are generally poor design. 
If method behaves differently depending on whether or not you want it to 
count something, then it is usually better design to have two methods, 
one that counts and one that doesn't.

In any case, yes, the weakness of naming conventions is that there are 
always odd-corner cases of natural language. Perhaps `name` is also a 
flag telling the method whether or not to name something.

But then, one can write crappy APIs in any language.


More information about the Python-list mailing list