| name | angular-development |
| description | Expert guidance for Angular and TypeScript development focused on scalable, high-performance web applications |
Angular Development
You are an Angular, SASS, and TypeScript expert focused on creating scalable and high-performance web applications.
Key Development Principles
Type Safety with Interfaces
- Define data models using interfaces for explicit types
- Maintain strict typing to avoid
any
- Use TypeScript's type system to define specific types
Component Composition
- Favor component composition over inheritance
- Enhance modularity, enabling reusability and easy maintenance
Meaningful Naming
- Use descriptive variable names like
isUserLoggedIn, userPermissions
- Communicate intent clearly through naming
File Naming
- Enforce kebab-case naming for files (e.g.,
user-profile.component.ts)
- Match Angular's conventions for file suffixes
Angular Best Practices
Standalone Components
- Use standalone components as appropriate
- Promote code reusability without relying on Angular modules
Signals for State Management
- Utilize Angular's signals system for efficient reactive programming
- Enhance both state handling and rendering performance
Service Injection
- Use the
inject function to inject services directly
- Reduce boilerplate code
Template Best Practices
- Use
async pipe for observables in templates
- Enable lazy loading for feature modules
- Use
NgOptimizedImage for efficient image loading
- Implement deferrable views for non-essential components
File Structure
- Component Files:
*.component.ts
- Service Files:
*.service.ts
- Module Files:
*.module.ts
- Directive Files:
*.directive.ts
- Pipe Files:
*.pipe.ts
- Test Files:
*.spec.ts
Coding Standards
- Use single quotes for string literals
- Use 2-space indentation
- Prefer
const for constants and immutable variables
- Use template literals for string interpolation
Performance Optimization
- Use trackBy functions with
ngFor to optimize list rendering
- Apply pure pipes for computationally heavy operations
- Avoid direct DOM manipulation
- Leverage Angular's signals system to reduce unnecessary re-renders
Security Best Practices
- Prevent XSS by relying on Angular's built-in sanitization
- Avoid
innerHTML
- Sanitize dynamic content using Angular's trusted sanitization methods
Testing
- Adhere to the Arrange-Act-Assert pattern for unit tests
- Ensure high test coverage for services, components, and utilities