Chapter 4. Names

The creation of a good mental model is one of the key challenges in developing software. There are several tools people use to help with this:

  • Project dictionaries

  • Domain vocabularies, ontologies, languages

  • XP-style metaphors

How we name things is important. Good names perform several functions:

  • They provide a vocabulary for discussing our domain.

  • They communicate intent.

  • They support subtle expectations about how the system works.

  • They support each other in a system of names.

It's hard to pick good names, but it's worth the effort. Ward Cunningham describes using a thesaurus to get just the right sense (seehttp://c2.com/cgi/wiki?SystemOfNames).

Some teams have coding standards and naming standards that affect how names are chosen. I generally ...

Get Refactoring Workbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.