Yandex Metrica
Clean Code: DRY Prensibi - Yasin Sunmaz

Yasin Sunmaz

Kodladıkça değişen bir dünya...

Clean Code: DRY Prensibi

19.04.2022 yasinsunmaz 1107 0

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.

DRY(Don?t Repeat Yourself)'

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.

Diğer Yazılar

Clean Code: High Cohesion Low Coupling

17.05.2022 yasinsunmaz 1031 0

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: İsimlendirmeler

27.04.2022 yasinsunmaz 691 0

Merhabalar Clean Code ile ilgili yazılarıma devam ederken biraz da örneklerin olduğu bir yazı yazmak istedim. İyi ve kötü örnekler üzerinden fark...

Clean Code: Least Astonishment Prensibi

21.04.2022 yasinsunmaz 573 0

Clean Code ve SOLID konuları ile birlikte bilmemiz gereken bir diğer prensip Principle of Least Astonishment'dir. Principle of Least Astonishment En Az Şaşkınlık Prensibi olara...

Clean Code: YAGNI Prensibi

20.04.2022 yasinsunmaz 1249 0

Clean Code ve SOLID konuları ile birlikte bilmemiz gereken bir diğer prensip YAGNI(You Ain’t Gonna Need It)'dir. Bu prensip genel anlamda vurguladığı şey: İhtiy...

Dapr Nedir? Dapr'a Giriş

14.12.2024 yasinsunmaz 204 0

Mikroservislerin Gizemi: Karmaşık Altyapı Sorunlarına Kolay Çözüm Günümüzde mikroservis tabanlı uygulamalar geliştirmek, teknolojik açıdan...

RedisConnectionException Hatası ve Çözümü: AbortOnConnectFail=false

31.07.2023 yasinsunmaz 1702 0

Redis, popüler bir açık kaynaklı veri yapısı sunucusudur ve günümüzde birçok uygulama tarafından kullanılmaktadır. Ancak, bu tür veri tabanla...

ASP.NET Core Web API'de Parametre Bağlama Yöntemleri: FromQuery, FromBody ve FromRoute

12.07.2023 yasinsunmaz 2209 0

ASP.NET Core web API projeleri, istemcilerden gelen verileri API metotlarıyla etkileşimde bulunmak için kullanılır. Bu verileri doğru bir şekilde almak ve işlemek içi...

Deployment Stratejileri (Blue Green, Rolling Update/Rollback) Nedir?

23.06.2023 yasinsunmaz 1621 0

Yazılım geliştirme sürecinde, uygulamaları güncellemek ve yeni sürümleri piyasaya sürmek önemli bir adımdır. Ancak, kullanıcıların kesintisiz hizmet a...

SonarQube Kurulumu: Adım Adım Kılavuz

18.06.2023 yasinsunmaz 2500 0

SonarQube, açık kaynaklı bir statik kod analizi platformudur ve geliştiricilere kod kalitesini, güvenliğini ve performansını iyileştirmeleri için yardımcı olur. ...

Active Directory LDAP İle Kullanıcı Kimlik Doğrulama .NET

05.12.2022 yasinsunmaz 3272 0

Active Directory LDAP ile kullanıcıyı belirli bir filtre üzerinde arama veya kullanıcının kimliğini doğrulama işlemleri yapabilmekteyiz. Bu LDAP protokolünde DirectorySer...

SOLID Yazılım Prensipleri

26.11.2022 yasinsunmaz 1023 0

SOLID prensipleri yazılım geliştirmede başlarda anlayıp uygulaması zor olsa da buna uyarak kod geliştirmenin faydasını zamanla görebilirsiniz. Yazdığınız kodlarda sonradan yap...

Regex, Regular Expressions Genel Kullanımı

03.08.2022 yasinsunmaz 2776 0

Bir çok yazılım dilinde bazı kontroller için Regex ifadeler ihtiyaç duyabiliyoruz. Bunların en başında e-posta, telefon ve web site geliyor. Bunların doğruluğu...

Visual Studio'da Aynı Anda Birden Çok Proje Çalıştırma

21.05.2022 yasinsunmaz 4449 0

Katmanlı mimari projelerimizde ya da bir web sitenin kullanıcı arayüzü ve admin dediğimiz yönetici ekranları aynı uygulama içerisinde geliştirebiliyoruz. Admi...