Ole Ersoy a écrit :

<snip/>

Incidentally I think we should apply this type of convention
to all java members and variables.

I'm not so incline to this kind of convention. People are smart enough to figure out what is what with short names. 'i' is self-explicit, for instance. And the fact is that long variable names (say, above 12 chars) generate more problems than short ones (mispelling, confusion, case problem, etc). I have read an interesting study about this aspect, I don't remember where (may be Writing Solid Code, or a study done by NASA, can't remember, it was 15 years ago) where it was clearly exposed that there is a limit for variable length above which the developpers are likely to generate more bugs ...


When creating an Attribute like this for instance;

Attribute objectClass = new BasicAttribute();

Some call it Attribute oc...

I call it

objectClassAttribute

Why ? Here, you *know* that objectClass is an Attribute, because its type is Attribute. As we are not using 'vi' anymore (or only from time to time), you have many ways to get this information.

<snip/>
Also, if it were called just objectClass...I might just wonder
whether it's an ObjectClass or Attribute...so by postfixing the
Type we avoid the "What is that thing again?" scenario.

Please, no more hungarian notation ! (I don't know if I should whish that Soyouz don't come back to earth, and let Simonyi turn around the planet for ever, to punish him for having added those stupid lpstrch and zptrpch before or after every variable names ...)


As a rule this convention could be expressed as "Append the Type to the end of a member". Sometimes it's really really obvious, but as the code
base grows and more gets added to the file, it becomes less obvious.

Just use common sense, here. If it's not obvious when you write it, then adopt another name. It should be enough as a convention. If it's not, then you are lacking of common sense (and be sure that sometime, we are all fools ...)

<snip>

When everyone follows conventions like this, it makes it a lot
easier to read code, because we know what the conventions are,
and thus we can immediately identify what someone is referring to...

You also have to consider anothe relement you are missing : using long variable names, concatenating many words, could drive the code to be full of meaningless names : many of us are not english natives, and we may perfectly abuse the names so badly simply because we are not used to them. It's more difficult to FU when using a simple name like 'context' than something like partitionConfigurationServiceContext' which means nothing at all (this is a clear example extracted from some code I just committed this afternoon, and I'm not proud of it ... :(

Emmanuel.


Cheers,
- Ole



Reply via email to