İyi bir code review nasıl yapılır? .gitignore'a neler eklenmelidir?
Cevap
Code review'da neye bakılır?
- Doğruluk: kod gereksinimi karşılıyor mu, uç durumlar (boş liste, null, eşzamanlılık) düşünülmüş mü?
- Güvenlik: yetki kontrolü, girdi doğrulama, sırların koda girmemesi.
- Test: yeni davranış test edilmiş mi, testler anlamlı mı?
- Okunabilirlik ve tasarım: isimlendirme, gereksiz karmaşıklık, tekrar.
- Performans: N+1 sorgu, gereksiz döngü veya render.
İyi review kültürü
- PR'lar küçük olmalı (birkaç yüz satır); büyük PR'lar yüzeysel incelenir.
- Açıklamada neyin, neden değiştiği ve nasıl test edileceği yazılmalı.
- Yorumlar kişiye değil koda yönelik ve gerekçeli olmalı: "Bu null gelebilir mi? Gelirse X olur" gibi.
- Zorunlu düzeltme ile öneriyi ayırın (ör.
nit:öneki). - Biçim tartışmaları insanlara değil linter/formatter'a bırakılmalı.
.gitignore'a neler eklenir?
# Bağımlılıklar ve build çıktıları
node_modules/
dist/
build/
.next/
__pycache__/
# Ortam ve sırlar
.env
.env.local
*.pem
# Editör / işletim sistemi
.vscode/
.idea/
.DS_Store
# Log ve geçici dosyalar
*.log
coverage/Kilit dosyaları (package-lock.json, pnpm-lock.yaml) eklenmez, commit'lenir. .gitignore zaten takip edilen dosyayı etkilemez; yanlışlıkla commit'lenen dosya için git rm --cached dosya gerekir. Commit'lenmiş bir sır geçmişte kalır, mutlaka iptal edilip yenilenmelidir.
İlgili Git soruları
- git merge ile git rebase arasındaki fark nedir?
- git reset ile git revert arasındaki fark nedir?
- Interactive rebase ile commit'leri nasıl düzenler ve squash edersiniz?
- git cherry-pick ve git stash ne işe yarar? Hangi durumlarda kullanılır?
- Merge conflict nedir ve nasıl çözülür?
- GitFlow ile trunk-based development arasındaki fark nedir?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.