Performance: Decorator-based architecture
MEDIUM IMPACT
This affects the initial server startup time and runtime metadata processing, impacting how fast the app can respond to requests.
import { Controller, Get } from '@nestjs/common'; @Controller() export class AppController { @Get() getRoot() { return 'Hello World'; } // Group related routes to reduce decorators @Get('slow') slowRoute() { // complex logic here } }
import { Controller, Get } from '@nestjs/common'; @Controller() export class AppController { @Get() getRoot() { return 'Hello World'; } @Get('slow') slowRoute() { // complex logic here } @Get('many') manyDecorators() { // many decorators stacked } }
| Pattern | Metadata Processing | Startup Time | Runtime Impact | Verdict |
|---|---|---|---|---|
| Many decorators on methods | High (many metadata entries) | Increases by 20-30% | None | [X] Bad |
| Minimal necessary decorators | Low (only essential metadata) | Minimal increase | None | [OK] Good |