develop
npm install
veya yarn install
komutunu çalıştır - Build işleminden önce linting ve test'leri çalıştır: npm run lint && npm test && npm run build
- Development server için npm run dev
veya yarn dev
kullan - Production build için npm run build
komutu ile optimize edilmiş versiyon oluştur - Docker kullanıyorsan, multi-stage build kullanarak image boyutunu minimize et - Environment variables'ları .env
dosyasında tanımla, .env.example
şablonu oluştur - Package.json'da scripts bölümünü düzenli tut ve açıklayıcı isimler kullan - Dependency güvenlik açıklarını kontrol et: npm audit
veya yarn audit
- Lock file'ları (package-lock.json, yarn.lock) versiyon kontrolüne dahil et - Build artifact'lerini (.git, node_modules) production image'a dahil etme__tests__
klasöründe veya .test.js/.spec.js
uzantısı ile organize et - Test adlarını açıklayıcı yap: should return user data when valid ID provided
- AAA pattern kullan: Arrange, Act, Assert - Mock'ları external service'ler ve database işlemleri için kullan - Integration test'leri kritik user flow'lar için yaz - E2E test'leri happy path senaryoları için dahil et - Test data'sını factory pattern ile oluştur, hard-coded değerler kullanma - Flaky test'leri hemen düzelt, CI/CD pipeline'ını stabil tut - Performance test'lerini kritik endpoint'ler için yaz - Test ortamında production data kullanma, synthetic data oluşturgetUserById()
> getData()
- Function'ları küçük ve tek sorumluluk prensibi ile yaz (max 20-30 satır) - Magic number'ları constant olarak tanımla: const MAX_RETRY_COUNT = 3
- Error handling her zaman yap, try-catch blokları kullan - Async/await kullan, callback hell'den kaçın - Lint rules'ları ESLint/Prettier ile enforce et - Dead code'u sil, comment out edilmiş kod bırakma - Console.log'ları production'a gönderme, proper logging kullan - Type safety için TypeScript veya JSDoc kullan - Destructuring ve modern ES6+ syntax'ını tercih et - DRY principle: Don't Repeat Yourself, reusable function'lar yaz