Description
Pick a set of standard terminology and stick to it throughout your naming. Avoid meaningless names and try to match the responsibility/functionality of an component with an intuitive catchy name.
Context
Derived from: “Deficient Names”
Does the name of the component succinctly describe what that component does? Could you read the element’s name to a coworker and have them explain to you what it does?
Cause
Can be caused by multiple architects with no common standard of naming.
Consequences
Unclear behavior of components and inconsistent names.
Solution
Rename components. Support complementary or interrelated functionality to avoid misunderstanding.
Example
Placing types in names is a very stupid way of naming. It’s not only redundant, but it forces you to change the name if the architecture is structured differently.
Tags
microservices, soa, business, application, technology, within elements, ambiguity
Related smells
- Incomplete Abstraction (precedes)
- Inconsistent Versioning (relates)