Names are fascinating.

People generally like to be called by their names instead of “Hey”. Everything that is slightly valuable nowadays has somewhat distinct names. In today’s world a name sometimes is the key to access knowledge. You’ll know what I am talking about if you ever wanted to buy parts of things for repairment, google seems incapable and dumb, until suddenly a right name is entered then voilà! Everything works. Same thing applies to learning, as a newbie to something, a veteran can give me a few names/concepts to study with, which often leads to visible progress of understanding.

Names are powerful. In both ways.

A good name has the following attributes:

  • It clears confusion; speed up communication
  • It is built on consensus, even if just local consensus
  • It helps understand the underlying concept

In direct contrast, a bad name:

  • Make things much more confusing; costs more time to clarify things.
  • No consensus on what it refers to, sometimes it could mean the opposite
  • It misleads thus deviates from the underlying concept

Names help people go deeper. Without naming colors, a visual designer’s life will have to talk in numbers instead. Flowers, animals, reptiles and insects, all studies based on consensus of names.

Naming can easily go wrong, behind a bad name, one can often find:

  • Unclear or shallow understanding of domain
  • Wrong abstraction of the problem
  • Careless or even unconscious decisions

Stay conscious when naming stuff. If one finds it is hard to name certain things - by good chance it is an opportunity to get a deeper understanding of the domain, you might find it valuable to discuss with a few folks instead of just letting it be.

If you ever find a certain name confusing or inconsistent across the code, documents and communication - dig deeper, oftentimes you will find values and opportunities to improve significantly other than just that one name, it might turn out you need a glossary for the domain.

Any of these echos? What’s your experience with names? Feel free to share.

Cheers!