Kod Tekrarı vs. Yanlış Soyutlamalar
Geliştiriciler genellikle bir seçim yapmakta zorlanırlar.
"Don't Repeat Yourself" (Kendini Tekrar Etme) prensibi ile bir miktar kod tekrarına izin vermek arasında bir seçim yapmanız gerekir.
DRY, yazılım tasarımında temel bir kuraldır. Ancak bu kuralın peşinden çok fazla gitmek yeni bir sorun yaratır: Yanlış bir soyutlama oluşturursunuz.
Yanlış bir soyutlama, tekrar eden koddan daha maliyetlidir.
Zarif kodlar yazmak isteriz. Yeniden kullanılabilir mantıklar kurmak isteriz. Bir hatayı tek bir yerde düzeltip her yerde düzeltildiğini görmek isteriz. Bu hedef kulağa doğru gelir.
Ancak zamansız soyutlama, proje hızını öldürür. Kodunuzun bakım kolaylığını bozar.
Çok erken soyutlama yaptığınızda şu sorunlarla karşılaşırsınız:
- Artan karmaşıklık. Kötü soyutlamalar kafa karışıklığı katmanları ekler.
- Katı kod. Bir parçayı, diğerlerini bozmadan değiştirmek zorlaşır.
- Gizli mantık. Kodu yazmaktan ziyade, onu izlemek (trace etmek) için daha fazla zaman harcarsınız.
Bazen, kod tekrarı yapmak pragmatik bir seçimdir. Kodunuzu basit ve net tutar. Sistemin parçalarını birbirinden bağımsız olarak değiştirmenize olanak tanır.
Henüz tam olarak anlamadığınız bir sorun için genel (generic) bir çözüm üretmeyin. Desen (pattern) netleşene kadar bekleyin.