name: code_review
router_kit: FullStackKit
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.
metadata:
skillport:
category: quality
tags: [architecture, automation, best practices, clean code, code review, coding, collaboration, compliance, debugging, design patterns, development, documentation, efficiency, git, optimization, productivity, programming, project management, quality assurance, refactoring, software engineering, standards, testing, utilities, version control, workflow] - code-smell
🔍 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? |