| name | code_review |
| description | PR review, code smell detection, best practice kontrolü. ⚠️ Kod incelerken kullan. Deliverable kontrolü için → quality-validator, doküman review için → peer-review. |
🔍 Code Review
Etkili kod inceleme ve kalite kontrol rehberi.
📋 İçindekiler
- Review Checklist
- Code Smell Detection
- PR Best Practices
- Review Comments
1. Review Checklist
Fonksiyonellik
- [ ] Kod istenen işi yapıyor mu?
- [ ] Edge case'ler handle ediliyor mu?
- [ ] Error handling yeterli mi?
- [ ] Input validation var mı?
Kod Kalitesi
- [ ] DRY prensibi uygulanmış mı?
- [ ] Single Responsibility takip ediliyor mu?
- [ ] Naming conventions tutarlı mı?
- [ ] Magic numbers/strings yok mu?
Güvenlik
- [ ] SQL injection riski var mı?
- [ ] XSS riski var mı?
- [ ] Sensitive data expose edilmiş mi?
- [ ] Authentication/authorization doğru mu?
Performans
- [ ] N+1 query problemi var mı?
- [ ] Gereksiz re-render var mı?
- [ ] Memory leak riski var mı?
- [ ] Büyük dosya/data handling doğru mu?
2. Code Smell Detection
Yaygın Code Smell'ler
| Smell | Açıklama | Çözüm |
|---|
| Long Method | >20 satır fonksiyon | Extract Method |
| Large Class | >300 satır class | Extract Class |
| Long Parameter List | >3 parametre | Parameter Object |
| Duplicate Code | Tekrarlayan bloklar | Extract Method/Class |
| Dead Code | Kullanılmayan kod | Sil |
| Magic Numbers | Açıklamasız değerler | Constants |
| Deep Nesting | >3 seviye if/loop | Early return, Extract |
| God Class | Her şeyi yapan class | Single Responsibility |
Algılama Komutları
npx eslint . --rule 'complexity: ["error", 10]'
sonar-scanner
npm run test:coverage
3. PR Best Practices
İdeal PR Boyutu
- Küçük: <200 satır (ideal)
- Orta: 200-400 satır
- Büyük: >400 satır (bölünmeli)
PR Açıklama Template
## Özet
Kısa açıklama
## Değişiklik Tipi
- [ ] Bug fix
- [ ] Yeni özellik
- [ ] Refactoring
- [ ] Breaking change
## Test
- Test X yapıldı
- Test Y sonucu: başarılı
## Screenshots (UI değişikliği varsa)
Commit Messages
feat: Add user authentication
fix: Resolve memory leak in cache
refactor: Extract validation logic
docs: Update API documentation
test: Add unit tests for user service
chore: Update dependencies
4. Review Comments
Etkili Yorum Yazma
❌ Kötü: "Bu yanlış"
✅ İyi: "Bu yaklaşım X durumunda hata verebilir. Y alternatifini düşünebilir misin?"
❌ Kötü: "Bunu değiştir"
✅ İyi: "suggestion: Bu fonksiyon extract edilse okunabilirlik artar"
Yorum Prefixleri
| Prefix | Anlam |
|---|
blocking: | Merge edilemez, düzeltilmeli |
suggestion: | Öneri, isteğe bağlı |
question: | Açıklama gerekiyor |
nitpick: | Minor, önemsiz |
praise: | İyi iş! |
Code Review v1.1 - Enhanced
🔄 Workflow
Kaynak: Google Engineering Practices
Aşama 1: Triage (Ön Kontrol)
Aşama 2: Deep Dive
Aşama 3: Feedback
Kontrol Noktaları
| Aşama | Doğrulama |
|---|
| 1 | PR açıklaması boş ise reddedildi mi? |
| 2 | Breaking change varsa versiyonlamaya dikkat edildi mi? |
| 3 | Yorumlar kişiye değil koda mı yönelik? |