tldr: 1. Consistency -- Each concept should be represented by a single, unique name. 2. Understandability --A name should describe the concept it represents. 3. Specificity -- A name shouldn’t be overly vague or overly specific. 4. Brevity -- A name should be neither overly short nor overly long. 5. Searchability -- A name should be easily found across code, documentation, and other resources. 6. Pronounceability -- A name should be easy to use in common speech. 7. Austerity -- A name should not be clever or rely on temporary concepts.