Definition
Naming is the deliberate choice of identifiers for variables, functions, classes, and modules so that a reader can understand what code means without tracing its implementation. A good name carries intent: it states what something is or does, why it exists, and how it should be used.
Names are the most-read part of any codebase. They appear far more often than they are written, and they are how future readers, including the original author, reconstruct the mental model behind the code.
Why it matters
How it works
Effective naming follows a few habits. Choose words from the problem domain so the code speaks the same language as the people who use it. Make scope match length: short names for tight loops, descriptive names for broad scope. Avoid abbreviations that only the author understands, and avoid encoding type information that the language already tracks.
When a name no longer fits because understanding has deepened, rename it. Modern tooling makes renaming safe, and a stale name is a small but persistent tax on every future read.