TypeScript Application Code Review Checklist
Codestructuur en Organisatie
- Controleer op correct gebruik van modules en imports/exports
- Verifieer naleving van naming conventions (camelCase voor variables/functions, PascalCase voor types/classes/interfaces)
- Zoek naar geschikt gebruik van moderne ECMAScript features
- Controleer gepaste separation of concerns
TypeScript-Specifieke Praktijken
- Verifieer dat strict mode aanstaat in tsconfig (strict, noImplicitAny, strictNullChecks)
- Zoek naar overmatig gebruik van any; geef de voorkeur aan unknown en precieze types
- Controleer op onnodige type assertions (as) en non-null assertions (!)
- Verifieer correct gebruik van generics, union types en discriminated unions
- Controleer op correcte afhandeling van null en undefined
Testing en Kwaliteit
- Controleer op uitgebreide test coverage (unit, integration, end-to-end tests)
- Verifieer het gebruik van geschikte testing frameworks (Jest, Vitest, Playwright)
- Zoek naar test organisatie en structuur
- Controleer op correct gebruik van mocks, stubs en test fixtures
- Controleer op consistente code style via linting en formatting (ESLint, Prettier)
Performance Overwegingen
- Zoek naar onnodige re-renders en ontbrekende memoization (frontend frameworks)
- Controleer op bundle size, tree-shaking en code splitting
- Verifieer efficiënt gebruik van async/await en Promise-afhandeling
- Zoek naar memory leaks (niet-opgeruimde listeners, timers, subscriptions)
Dependency Management
- Verifieer gepaste selectie van packages en dependency management
- Controleer op outdated of vulnerable packages (npm audit)
- Zoek naar correcte versioning constraints en een vastgelegde lockfile
- Controleer op onnodige of dubbele dependencies
Security Issues
- Controleer op XSS-risico's (innerHTML, dangerouslySetInnerHTML, ongefilterde DOM-injectie)
- Zoek naar correcte input validation en sanitization
- Verifieer authentication en authorization implementaties
- Controleer op gebruik van eval en andere onveilige dynamische code-uitvoering
- Zoek naar prototype pollution en onveilige deserialisatie
- Voer npm audit uit voor geautomatiseerde security scanning van de supply chain
- Controleer dat gevoelige data (secrets, tokens) niet in de code of logs terechtkomt
Framework-Specifieke Controles (React, Angular, Node.js)
- Correcte component-structuur en state management
- Naleving van de rules of hooks en dependency arrays (React)
- Controleer routing, middleware en API-structuur (Node.js/Express)
- Verifieer correcte afhandeling van server-side rendering en hydration
Documentatie
- Controleer op uitgebreide code documentation (TSDoc)
- Verifieer README en installation instructions
- Zoek naar API documentation indien van toepassing
- Controleer op comments die complexe business logic uitleggen