On Names
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!