Comprehensive naming convention guide for TypeScript and Angular applications. Covers casing rules (camelCase, PascalCase, UPPER_CASE), prefix conventions (I for interfaces, _ for private, T for generics), boolean naming, the S-I-D principle (Short, Intuitive, Descriptive), context duplication, and structured naming patterns (P/HC/LC for variables, A/HC/LC for functions). Use when writing, reviewing, or refactoring TypeScript code. Triggers on tasks involving naming, variables, functions, interfaces, or code style.
Resources
3Install
npx skillscat add develite98/angular-best-practices/the-art-of-naming Install via the SkillsCat registry.
The skill provides a naming convention guide for TypeScript and Angular code, defining rules for casing, prefixes, boolean naming, and the S‑I‑D principle. It helps ensure consistent, readable code and reduces ambiguity during development, review, or refactoring.
The Art of Naming
Naming things is hard. This guide provides a structured methodology for naming variables, functions, classes, interfaces, and everything in between — producing code that is self-documenting, consistent, and readable.
When to Apply
Reference these guidelines when:
- Naming new variables, functions, classes, interfaces, or types
- Reviewing code for naming consistency
- Refactoring code to improve readability
- Setting up linting rules for a new project
- Onboarding new team members to the codebase conventions
Core Principles
- S-I-D — Every name must be Short, Intuitive, and Descriptive
- No Contractions —
onItemClick, neveronItmClk - Correct Casing — camelCase for members, PascalCase for types, UPPER_CASE for constants
- Meaningful Prefixes —
Ifor interfaces,_for private,is/has/shouldfor booleans - No Context Duplication —
MenuItem.handleClick(), notMenuItem.handleMenuItemClick() - Structured Patterns — P/HC/LC for variables, A/HC/LC for functions
- Correct Action Verbs —
get(sync),fetch(async),remove(collection),delete(permanent)
Rule Categories by Priority
| Priority | Rule | Impact | File |
|---|---|---|---|
| 1 | Casing Convention | CRITICAL | naming-casing-convention |
| 2 | S-I-D + No Contractions | CRITICAL | naming-sid |
| 3 | Prefix Conventions | HIGH | naming-prefix-convention |
| 4 | Boolean Naming | HIGH | naming-boolean |
| 5 | Context Duplication | HIGH | naming-context-duplication |
| 6 | Function Naming (A/HC/LC) | HIGH | naming-function-pattern |
| 7 | Variable Naming (P/HC/LC) | MEDIUM | naming-variable-pattern |
Quick Reference
1. Casing Convention (CRITICAL)
naming-casing-convention- camelCase for variables/functions, PascalCase for classes/enums/types, UPPER_CASE for exported constants
2. S-I-D + No Contractions (CRITICAL)
naming-sid- Names must be Short, Intuitive, Descriptive — never use contractions
3. Prefix Conventions (HIGH)
naming-prefix-convention-Ifor interfaces,_for private members,T/R/U/V/Kfor generics
4. Boolean Naming (HIGH)
naming-boolean- Prefix booleans withis/has/should/can, keep names positive
5. Context Duplication (HIGH)
naming-context-duplication- Don't repeat class/component name in member names
6. Function Naming (HIGH)
naming-function-pattern- A/HC/LC pattern + correct action verbs (get/set/fetch/remove/delete/compose/handle)
7. Variable Naming (MEDIUM)
naming-variable-pattern- P/HC/LC pattern for structured, predictable variable names
How to Use
Read individual rule files for detailed explanations and code examples:
rules/naming-casing-convention.md
rules/naming-sid.md
rules/naming-prefix-convention.md
rules/naming-boolean.md
rules/naming-context-duplication.md
rules/naming-function-pattern.md
rules/naming-variable-pattern.mdEach rule file contains:
- Brief explanation of why it matters
- Incorrect code examples with explanation
- Correct code examples with explanation
- Summary tables and references
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md