Treating the abusive unsigned syndrome

bearophile bearophileHUGS at lycos.com
Wed Nov 26 08:29:09 PST 2008


Andrei Alexandrescu:
> I'm rather weary of a short and suggestive name that embodies a linear 
> operation. I recall there was a discussion about that a while ago in 
> this newsgroup. I'd rather call it linearLength or something that 
> suggests it's a best-effort function that may take O(n).

I remember parts of that discussion, and I like your general rule, and I agree that generally it's better to give the programmer a hint of the complexity of a specific operation, for example a method of a user defined class, etc.

But len() is supposed to be used very often, so it's better to keep it short, because if you don't have an IDE it's not nice to type linearLength() one time every 2 lines of code.

Being used so often also implies that you remember how it works, so you are supposed to be able to remember it can be O(n) on lazy iterators.

So in this specific case I think it's acceptable to break your general rule, for practical reasons.

Bye,
bearophile



More information about the Digitalmars-d mailing list