AgentSkillsCN

the-art-of-naming

为 TypeScript 与 Angular 应用程序提供全面的命名规范指南。涵盖大小写规则(camelCase、PascalCase、UPPER_CASE)、前缀约定(I 代表接口,_ 代表私有,T 代表泛型)、布尔值命名、S-I-D 原则(Short、Intuitive、Descriptive)、上下文重复,以及结构化命名模式(变量使用 P/HC/LC,函数使用 A/HC/LC)。适用于编写、审查或重构 TypeScript 代码时使用。可通过涉及命名、变量、函数、接口或代码风格的任务来触发此技能。

SKILL.md
--- frontmatter
name: the-art-of-naming
description: 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.
license: MIT
metadata:
  author: community
  version: "1.0.0"

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

PriorityRuleImpactFile
1Casing ConventionCRITICALnaming-casing-convention
2S-I-D + No ContractionsCRITICALnaming-sid
3Prefix ConventionsHIGHnaming-prefix-convention
4Boolean NamingHIGHnaming-boolean
5Context DuplicationHIGHnaming-context-duplication
6Function Naming (A/HC/LC)HIGHnaming-function-pattern
7Variable Naming (P/HC/LC)MEDIUMnaming-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:

code
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

Related skills: angular-best-practices (code quality, performance); typescript-docs (documenting TypeScript APIs).