in , ,

HoşHoş BaşarılıBaşarılı KomikKomik

Yazılımda Temel Prensipler – KISS, DRY, YAGNI

Yazılım geliştiricileri olarak, karmaşık problemleri çözerken teknik olarak ne kadar bilgili olsak da, gün geçtikçe işler daha da karmaşıklaşabiliyor. Bu sorunları bir şekilde çözsekte gün geçtikçe işler karışabiliyor. Peki gün geçtikçe büyüyen projelerimizde neden bu tür sorunlar yaşıyoruz? Bu sorunları çözmek için neler yapabiliriz?

Bu sorunların temel kaynaklarından birisi de temel bazı prensipler konusunda eksik kalmamız olabilir. Bu yazımızda yazılım geliştirirken bize yol gösterecek ve düşünme şeklimize de yön verecek bazı prensiplerden bahsedeceğiz. KISSDRY ve YAGNI.

KISS: Keep It Simple, Stupid! (Basit Tut)

Basit ve bir  o kadar da önemli olan KISS bize gereksiz yere kodumuzda karmaşıklıktan uzak durmamızı, yazdığımız kodu bizden sonrakilerin de kolaylıkla anlayabilmesini/geliştirebilmesini sağlamayı hedefleyen bir prensiptir.

KISS'in amacı kısacası basitlik ve sadelik 


Bir sistem ne kadar karmaşık olursa, onun sürdürebilirliğini sağlamak o kadar zor olur. Bu yüzden KISS bize basit ve sade olmamızı söylüyor. Tabi, bu prensibi ele alırken, bazı farklı durumlarıda ele almamız grekiyor.  Yazdığımız kodu basit tutmak isterken kalitesiz olmasını istemeyiz. Yapmamız gereken kolay bir yol ile çözülebilecek problemleri bir gereksiz ifadeler ile karmaşık hale getirmekten kaçınmalıyız.

Bu ifade Kelly Johnson tarafından kullanılmıştır ve şöyle bir açıklama getirmiştir:

Eğer sistemlerinizi kompleks yapmak yerine onları daha basit tutarsanız sisteminiz en iyi şekilde çalışacaktır. Bu nedenle tasarımda hedef nokta basitlik olmalı ve gereksiz karmaşıklıktan kaçınılmalıdır.

DRY: Don’t Repeat Yourself (Kendini Tekrar Etme)

"Her bilgi bir sistem içinde tek, kesin ve yetkili bir temsili ile var olmaldıır."

DRY prensibi temel olarak oldukça basittir. Yapı olarak bize aynı işi yapan birden fazla kod bloğunun olmaması gerektiğini söylemektedir. Eğer aynı metodlar/fonksiyonlar projemiz içerisinde farklı yerlerde birbirlerini tekrar ediyorlarsa bu prensibe uymuyoruz demektir. 

YAGNI: You Aren’t Gonna Need It (Buna İhtiyacın Olmayacak)

YAGNI Extreme Programming(XP) prensiplerindendir.

YAGNI aslında KISS'e oldukça benziyor. YAGNI, ihtiyacımız olmayacak şeyleri sisteme dahil edilmemesi gerektiğini belirten bir prensiptir. 

Yarının Değil, Bugünün Problemini Çöz

Geliştirme aşamasında ileride lazım olacağını düşündüğümüz kısımları projemize eklemek isteyebiliriz. İşte tam da burada YAGNI bize dur diyor. Bu tür işlemler geliştirme sırasında vakit kaybı olmasinın yanı sıra yanlış öngörülme sonucu ileride de tekrar bir ek çaba gerektirecektir. Ne kadar iyi analiz edilip sürecin geliştirildiği düşünülse de bu pek öyle çıkmaz. Bunun sonucunda da harcanan analiz, programlama ve test etme süreleri için boş yere vakit kaybedilmiş oluruz.

Bildir

Bir Yorum

Yorum Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

49TL Değerindeki Oyun Epic Store’da Kısa Süreliğine Ücretsiz Oldu

Beşiktaşın Yeni Başkanı Belli Oldu