Use Descriptive Names

As usual, an ubiquitous advice, taught to first years students in universities.

Or an obvious nonsense sheepishly followed without use of critical spirit?

It is in any case a practice not grounded in everyday life: my name is Marc, and this is not descriptive of much anything about me. Yet, this is a working name. What is important for a name to be working?

  • it should be short, convenient to handle and to remember
  • it should be easy to discriminate from other names competing for the same space
  • it should be stable

Descriptive? For a name? No... A name is a handle to information, not the information itself! Mandating that names should be descriptive is a confusion of concerns.

But there is more. Making names descriptive typically makes them:

  • less convenient: longer, harder to remember, more errorprone
  • harder to discriminate from others
  • less stable, because it makes them depend on information which may itself change, or have to be fixed

To deal with the growing length of names, people often start to compress the information, encoding it into unpronounceable tokens, the meaning of which escapes their real users, defeating even the original ill-thought purpose!

In short, it adds an artificial binding to an early view of things. It is quite typical that this original view is short-sighted, and that a new version of an item needs to be named, while the information on which the naming scheme is based did not change from the previous. This obviously leaves only bad options:

  • change the naming scheme, and the previous name...
  • add something not covered by the scheme, i.e. lie to the users of both names...

-- MarcGirod - 24 Sep 2010