develite98

the-art-of-naming

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.

develite98 19 5 Updated 7mo ago

Resources

3
GitHub

Install

npx skillscat add develite98/angular-best-practices/the-art-of-naming

Install via the SkillsCat registry.

About this skill

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.

SKILL.md

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 ContractionsonItemClick, never onItmClk
  • Correct Casing — camelCase for members, PascalCase for types, UPPER_CASE for constants
  • Meaningful PrefixesI for interfaces, _ for private, is/has/should for booleans
  • No Context DuplicationMenuItem.handleClick(), not MenuItem.handleMenuItemClick()
  • Structured Patterns — P/HC/LC for variables, A/HC/LC for functions
  • Correct Action Verbsget (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 - I for interfaces, _ for private members, T/R/U/V/K for generics

4. Boolean Naming (HIGH)

  • naming-boolean - Prefix booleans with is/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.md

Each 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