Angular Style Guide
Priority: P0 (CRITICAL)
Principles
- •Single Responsibility: One component/service per file. Small functions (< 75 lines).
- •Size Limits: Keep files under 400 lines. Refactor if larger.
- •Strict Naming:
feature.type.ts(e.g.,hero-list.component.ts). - •Barrels: Use
index.tsonly for public APIs of specific features/libraries. Avoid deep barrel imports within the same feature. - •LIFT: Locate, Identify, Flat structure, Try DRY.
Naming Standards
- •Files:
kebab-case.type.ts - •Classes:
PascalCase+Typesuffix (HeroListComponent) - •Directives:
camelCaseselector (appHighlight) - •Pipes:
camelCasename (truncate) - •Services:
PascalCase+Servicesuffix (HeroService)
Anti-Patterns
- •Logic in Templates: Move complex logic to the component class or a computed signal.
- •Deep Nesting: Avoid $>3$ levels of folder nesting.
- •Prefixing interfaces: No
IUser. UseUser.