To Paul Schirf: I am glad you liked the final version (again, I am not sure how we should go about quantifying liking…).
The point here, which I should probably have stressed better is the following. Terse names, that is one or two letter names, make more sense if the context is small. Consider for example identifying an individual person. Within the small family cycle, a one syllable nickname would do. In a classroom, you may need to use the first name spelled in full: Paul. When the individual is part of a larger audience, say, participants in a forum, you may need to write Paul Schirf, and if you need address this individual among all citizens of a large state, you may need to write: PaulSchirfMaleOfPalmSprings.
The point is the following: the smaller the scope, the shorter the name. Conversely, if you strive for short variable names, you will be gravitating towards smaller modules.
There is another point to make here (eventually I will add this to the wiki): in the course of decomposition, you often come up with small, yet general modules. These modules often make terse names even more necessary.
In the Paul Schirf example, suppose you have a module with code designed to serve as back door of an application, e.g., by testing if (user==Paul Schirf) { do lots and lots of special things }.
Now, in decomposing the body of the conditional, one may come up with a small sub module designed to send a birthday greeting by email to the individual. I would expect a signature of the sort of,
congratulate(Person p)
to that module. Conversely, if the same code was inlined into the main module, you would more inclined in using a verbose name for the user to congratulate, by writing e.g.,
User backDoorUser = …;
Message congratulation = …;
send(congratulation, backDoorUser)
The point here is that the strive towards general, non descriptive names, is stimulates and is satisfied by good modular decomposition.
PS.
Others here may suggest using congratulate(Person person) as signature for the submodule, i.e., naming the parameter person rather than p. I am interested in understanding better what makes people prefer the more verbose version in such a case.
Yossi