TypeScript Best Practices
Priority: P1 (OPERATIONAL)
Implementation Guidelines
- •Naming: Classes/Types=
PascalCase, vars/funcs=camelCase, consts=UPPER_SNAKE. PrefixIonly if needed. - •Functions: Arrows for callbacks; regular for exports. Always type public API returns.
- •Modules: Named exports only. Import order: external → internal → relative.
- •Async: Use
async/await, not raw Promises.Promise.all()for parallel. - •Classes: Explicit access modifiers. Favor composition. Use
readonly. - •Types: Use
neverfor exhaustiveness,assertsfor runtime checks. - •Optional: Use
?:, not| undefined. - •Imports: Use
import typefor tree-shaking.
Anti-Patterns
- •No Default Exports: Use named exports.
- •No Implicit Returns: Specify return types.
- •No Unused Variables: Enable
noUnusedLocals. - •No
require: Use ES6import. - •No Empty Interfaces: Use
typeor non-empty interface. - •Use any: Never use
any, useunknownonly when necessary.
Reference & Examples
See references/examples.md for code samples including:
- •Immutable Interfaces
- •Exhaustiveness Checking
- •Assertion Functions
- •Dependency Injection Patterns
- •Import Organization
Related Topics
language | tooling | security