There are only two hard things in Computer Science: cache invalidation and naming things.

– Phil Karlton

Naming things is hard, but doing it right pays off.

Ambiguous, or worse yet, misleading names, make things difficult for all the people involved. They are hard to figure out and hard to remember.

This applies to pretty much anything you can think of, including the names of:

  • Classes
  • Variables
  • Methods
  • Scripts
  • Database tables and columns
  • Architectural components
  • Projects
  • Features
  • UI elements, such as links, buttons and form field labels

These things are usually named once and then used and talked about many times, so spending some time upfront to come up with just the right name is a good investment.

The next time you’re naming something, ask yourself this question: “If I didn’t know anything about this, what would I think it was just by looking at its name?”