Wiki source code of Expressive Names
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | * Meaningful and Descriptive Names | ||
| 2 | * Choose names carefully, as if naming a child. | ||
| 3 | * Names should reflect the code's purpose clearly. For example, use unorderedNumbers and orderedNumbers instead of a generic numbers. | ||
| 4 | * Avoid Misinformation | ||
| 5 | * Steer clear of ambiguous, easily confused names or characters (e.g., l vs. 1, O vs. 0). | ||
| 6 | * Clarity in Differences | ||
| 7 | * Distinguish names distinctly, avoiding similar expressions and redundant words (e.g., a, an, the, info, data). | ||
| 8 | * Pronounceable and Searchable Names | ||
| 9 | * Use names that are easy to pronounce and discuss. | ||
| 10 | * Name length should match its scope: short for local loops, longer for broader usage. | ||
| 11 | * No Encodings or Mental Mappings | ||
| 12 | * Avoid including type or scope information in names. | ||
| 13 | * Names should be clear without requiring mental translation. | ||
| 14 | * Naming Conventions for Classes and Methods | ||
| 15 | * Class names: Use nouns or noun phrases. | ||
| 16 | * Method names: Use verbs or verb phrases, adhering to standards like JavaBean (get, set, is, has). Utilize descriptive function names instead of overloaded constructors. | ||
| 17 | * Avoid Inappropriate Humor and Ambiguities | ||
| 18 | * Refrain from humorous names. | ||
| 19 | * Choose one word per concept to maintain consistency (e.g., always use "get" instead of alternating with "fetch" or "retrieve"). | ||
| 20 | * Avoid puns and ambiguous terms (like "add" for addition or appending). | ||
| 21 | * Domain-Specific Naming | ||
| 22 | * Use technical terms (solution domain) for clarity among programmers. | ||
| 23 | * Use terms from the problem domain when no technical equivalents exist, aiding domain experts. | ||
| 24 | * Context and Simplicity in Naming | ||
| 25 | * Provide meaningful context through combined variable and method names. | ||
| 26 | * Avoid unnecessary context; opt for shorter, meaningful names. | ||
| 27 | * Be open to renaming for clarity and improvement. |