Clean Code içinde bahsedeceğimiz bir diğer konu ise "High Cohesion Low Coupling" yani "Yüksek Birliktelik ve Düşük Bağımlılık"'tır. &O...
Clean Code: DRY Prensibi
Clean Code ve SOLID konuları ile birlikte bilmemiz gereken bir diğer prensip DRY(Don’t Repeat Yourself)'dir. Bu prensib genel anlamda vurguladığı şey: Kendini tekrar etme! DRY bize yazdığımız ve yazacağımız kodlarda kod tekrarının olmaması gerektiğini söyler. Yinelenen kod ortadan kaldırılmalıdır. DRY prensibine göre ne olursa olsun kodunuz tek bir yerde olmalıdır. Aynı kod aynı metot farklı yerlerde olmamalıdır. Tek bir yerde olmalıdır. Bunu yapabilmek için de copy-paste değil cut-paste ile sağlayabiliriz. Buna dikkat ederek kod yazmamız gerekiyor. Eğer o kod varsa ve siz kolay olsun diye kopyalayıp istediğiniz yerde tekrar yazarsanız bu kötü koda dönüşür.
Projenizde tekrar eden kodlarınız için de kısa zamanda bir çözüm bularak merkezi bir yapı ile tek bir yerde toplayacak şekilde düzenlemelisiniz. Yalnızca bir yerde olun kodun geliştirilmesi ve bakımı kolay olur. O metodu kaç tane yer kullanıyor olursa olsun tek bir geliştirme yaptığınızda her yer için bu geliştirmeyi yapmış olursunuz. Olası bir bug olduğunda bile tek bir düzenleme ile sorununuzu hızlıca çözebileceksiniz. Aksi durumda ise aynı kodun birkaç yerde olması durumunda ise zamanda isteyerek veya istemeyerek farklılaşmaya başlayabilir. Bu durumda bize bug olarak geri dönecektir. Yönetilmesi ve geliştirmesi zorlaşacaktır.
Bunun yanı sıra böyle bir şey fark ettiğinizde zaman ve cesaret var ise ilgili yerler içi değişiklik yapılmalıdır. Ama bu durum riskli olabiliyor. Projenin kod yapısı ve bilgisine sahip olmak gerekiyor. İstemeden başka yerlere etkileme durumu oluşabilir. Zaten DRY prensibine uyarken KISS prensibine de uymalısınız. KISS prensibi ile ilgili detaylı yazımı buradan ulaşabilirsiniz.
Kodumuzda gereksiz olan şeyleri dışarıda bırakmalı ve gereksiz olanları silmelidir. Bu başlıca bir prensiptir. YAGNI: You Aren’t Gonna Need It (Buna İhtiyacın Olmayacak) prensibi bunu savunur. Diğer yazımda buna değineceğim.
Clean Code'a Giriş adlı yazımı da okumanızı tavsiye ederim.
Umarım faydalı olmuştur. İyi çalışmalar dilerim.
Yorum yapabilmek için giriş yapmalısınız. Giriş yapmak için tıklayınız.