Case sensitivity

Alex Martelli aleax at aleax.it
Tue Feb 25 13:22:44 EST 2003


Martijn Faassen wrote:

> Alex Martelli <aleax at aleax.it> wrote:
>> Martijn Faassen wrote:
>>   ...
>> 
>>> fooBarism = FooBarism()
>>> 
>>> could be easily repaired, but is this *idiotic*? May be misguided, but
>> 
>> I apologize for being politically incorrect here in my choice of
>> terms.  If you'll accept, say, three months with biweekly long
>> distance phone meetings of one hour each where you have to discuss
>> this subtle and elegant design,
> 
> It's not a subtle and elegant design. It's a straightforward
> design. Luckily with straightforward designs, you don't have
> to have three months with biweekly long distance phone meetings. That's
> the point of straightforward designs.

Hard to say whether you missed the point, or are just breezing
over it in the guise of humor, but, I'll play the straight man
here, rather than risk the point being lost:

1. no matter how "straightforward" your module's design is, if that
module is heavily used as a part of a large system on which many
people work, there will be discussions in which the names that
your module exposes will need to be mentioned;

2. being able to pronounce names is good, when the names need to
be discussed; having to spell out a name, or qualify "the big-f
foobarism" vs "the small-f foobarism", each time you're talking
about them, is a small but non-negligible bother, and reduces the
group's productivity during each such discussion;

3. voice is a frequently used medium to discuss code -- even between
people who are face-to-face, but in this case it can sometimes
more easily be supplemented by writing on paper or whiteboards,
or point-and-grunt with a screen; on the phone, there are fewer
practical aids.


In other words, I was not proposing long boring discussions about
the capitalization choice, but rather that you consider the
possible need to discuss, by voice, aspects of your module's
public interface that might differ only by capitalization.  And
I suspect that, if one had first-hand experience of such needs,
one would be perhaps less than charmed by "capitalization-only" 
distinctions along such public interfaces.


> Though I'd be happy to rewrite it so either the instances or the
> classes are named something else. :) I see in some code I wrote
> where I thought I followed this pattern I actually called the instances
> 'FooInstance' explicitly.

Oh good.  Then I don't see why you said in your previous post
you'd MISS the feature -- as now you say that sometimes you
choose more explicit distinctions anyway, and that you'd be
happy to do that systematically.

Assuming you've actually changed your mind (a rare event on
Usenet), then maybe my pessimism about this thread was undue.


Alex





More information about the Python-list mailing list