Ana içeriğe atla

Yazılımda KISS Prensibi

Yazdığımız her kod bizi biraz daha geliştirir. Zaman bulduğunuzda veya yazdığınız koddan kaynaklanan bir hatadan dolayı daha önceki kodlarınızı incelediğinizde bunu en çok fark edersiniz. Çünkü bu durumda geçmişinizle gününüzü karşılaştırabiliyorsunuz. Eğer geçmiş kodlara baktığınızda ne güzel yazmışım diyorsanız ve her yönüyle çok iyi yazmışım diyorsanız kişisel gelişmenizde bir problem var demektir.

Konuyla alakalı diğer bir husus ise bilgi depomuz doldukça bu bilginin kullanımında da cömert oluyoruz ve çoğu zaman bu da yazdığımız kodun sadece kendimiz anlayabileceği, hatta seneler sonra bizim bile anlayamayacağımız bir kod kalabalığına dönüşmesine neden olabiliyor.

Maalesef günümüz reel sektörde bir çok yazılımcı kimsenin anlamayacağı kod yazmayı da marifet sanıyor. Ekiple birlikte çalışmakta zorlanan "eski kafalı" yazılımcılar bu konuda biraz daha ön plana çıkıyor. Belki de yazılım sektörü için eski kafalılığın da tanımı budur. (Benim gözlemim daha fazla maaş aldıkları için ve bunu ispatlamak için, yada vazgeçilmeyecek kişi olup işlerini garantiye almak için bu tarza yöntemleri benimsemiş olabilecekleri yönünde)

İşin özü bir yazılım geliştirdiğinizde o yazılımı işe yeni başlayan birine bile kolayca anlatabiliyorsanız işinizi iyi yapıyorsunuz demektir.

Algoritmaların zorluğu bir çok durumda yazılan güzel kodlarla basitleşir. Bazen yazılım analistlerinin sayfalarla anlatamadıkları analizler yazılım tasarımcısı ve kod yazarlarının elinde öyle bir hale gelir ki analistler de kod okuyarak veya yazarak süreci devam etmek isterler. Bazen kod o kadar kötü yazılır ve süreç planlaması o kadar yanlış gider ki kod yazıldıktan sonra bile programcılar her problemle karşılaştığında ne yapıyorduk biz burada deme noktasına gelirler. Bu iki durumda da olayın temel bir noktası vardır. 

İşi basitleştirmek!

İşin özü seneler sonra bile yazdığınız kodu açıp belirli bir süre incelediğinizde kodu kısa sürede anlayıp işin mantığını koddan çıkarta biliyorsanız iyi iş yapmışsınız demektir.

Bir "basitlik" sözünü açıkladıktan sonra artık asıl konumuz olan yazılımlarda KISS prensibi konusunu detaylı inceleyebiliriz.

KISS ingiliczede öpmek veya öpücük anlamına gelir. 


Yazılım prensibi olarak KISS ise biraz bu anlamdan uzaktır ve ingilizce karşılıklarını aşağıda vereceğimiz sözlerin ilk harflerinin birleşmesinden oluşur. Her halde konuyu sırf öpücüğe bağlamak da istemiş olabilirler:

“Keep it short and simple”

“Keep it simple, stupid”

“Keep it simple, silly”

“Keep it simple and straightforward”

"Keep It Small and Simple"

gibi açılımlar yapıldığını görürüz.

KISS Prensibi en basit çözüm ihtiyacın olan çözümdür mottasının kalıplaşmış halidir.

1960’lı yıllarda Amerikan donanmasında ilk olarak ifade edilen bu prensip günümüzde en önemli programlama prensiplerinden biridir. Bir problemi çözerken olabilecek en basit ve yalın çözümü seçmeyi önerir. Hatta o kadar basit olmalıdır ki ilk bakışta “Bunu bir aptal bile yapar ve anlar” demeliyiz.

KISS Prensibi aslında terim ve mantık olarak tüm mühendislik dallarında, hatta hayatımızın her alanında yol gösterici ve önemli kriterdir diye düşünüyorum. Makalenin konusu itibari ile yazılım sektörü hedef alındığı için olayları bu açıdan değerlendiriyorum.

KISS Prensibi , karmaşık çözümlerin daha “zekice” çözümler olduğu fikrini reddeder. Çoğu mühendis/yazılımcı karmaşık çözümler bularak, karmaşık yapılar inşa ederek “zekice” işler yaptığını düşünür. Dışarıdan bakan bir insan ne kadar zor anlar ise o kadar artı değer ürettiğini sanır. Ancak zor olan basitleştirmektir.v,0

Yazılımda KISS Prensibi belirli bir problemin çözümünün mümkün olan en basit yoldan yapılması ve aynı zamanda kullanıcıların da en kısa yoldan ve basitçe işlerini hallede bilmeyi sağlayan projeler geliştirilmesi amacıya düşünülmüş ve amacı da temelinde yazılım geliştiricilerinin işlerini kolaylaştırmak olduğunu vurgulamak istiyorum. Çünkü bir problemin basit ve en uygun çözümünü uygularsan 1 sene sonra konuyu incelediğinde senin de anlaman kolay olacak.

Son olarak bahsetmek istediğim bir konu daha var. Hiç bir yazılımcı bir günde yetişmiyor. Çoğu zaman iş tecrübesi ve daha önce çalıştığı eşip arkadaşları ve kendi kültürel değerlerini de topladığımızda çok farklı yazılımcı profilleri ve kültürleri ortaya çıkıyor. Her ülkeden bir c# yazılımcısı getirip benzer konularda yazdıkları kodları mercek altına aldığımızda muhtemel bu kodların içinde o ülkenin kültürel ve sosyoekonomik durumunun belirtilerini fark edeceğiz. Benim düşüncem ise özellikle KISS gibi prensiplerin ekonomik düzeyi orta ve düşük olan ülkelerde daha iyi anlatılması gerektiğidir.

Yorumlar

Bu blogdaki popüler yayınlar

Medyan (Ortanca) Nedir? Nasıl Hesaplanır? Nerelerde Kullanılır?

Medyan işlemi olasılık hesaplamalarında sıkça kullanılan bir sayı dizisinin ortalamasını hesaplamak için alternatif yöntemlerden bir tanesidir. Ortanca medyan işleminin diğer adıdır. Matematiksel olarak medyan işlemi bir sayı dizisi küçükten büyüğe sıralayarak ortada kalan elemanı medyan değeri olarak belirleme işlemidir. Örnek verecek olursak: 2, 1, 5, 4, 5, 1, 2, 3, 5 serisi sıralanırsa 1, 1, 2, 2, 3, 4, 5, 5, 5 serisi elde edilir. Bu seri 9 elemanlı olduğundan ortadaki, yani 5. eleman (medyan) olacaktır. 5. eleman 3 sayısıdır. Yani ortanca değeri 3'dür Eleman sayısı tek sayı olan bir seride medyan değerin sırasının hesaplaması şu şekilde formüle edilir. Medyanın Sırası = (Eleman Sayısı + 1) / 2 Bu formülü yukarıdaki örneği uygulayacak olursak; Medyanın Sırası = (9 + 1) / 2 = 5 Veri serisi eleman sayısı bir çift sayı ise bu durumda serinin 2 medyanı olacaktır. Örneğin 2, 1, 5, 4, 5, 1, 2, 3, 5, 4 serisi sıralandığında 1, 1, 2, 2, 3, 4, 4, 5, 5, 5 s

Ağaçlar Kireçle veya Badana İle Neden Boyanır?

Ağaçlar kireçle boyanmasının veya badana yapılmasının hem çevreye hem de doğaya, ağaçlara faydası var. Bu makalede bu geleneği enine boyuna tartışmaya çalıştık. Ağaca zarar veren mikrop ve bakterileri öldürür. Ağacı çok aşarı soğuk havalarda ve çok aşırı sıcak havalarda korur. Ağacın çürümesini ve kurtlanmasını önler. Ağacın gövdesinin alabileceği zararları en az düzeyde düşürmeyi sağlar. Hoş, güzel, hijyenik, temiz pırıl pırıl bir görüntü oluşturur. Ayrıca çok sıcak havalarda da ağacı yanmaya karşı korumak. En büyük etkisi soğuk havalarda ağacı don vurmalarına karşı korumak . Küresel ısınma göz önüne alındığında mevsim değişiklikleri ani don, ani ısı artışları ve azalışları sonucunun doğuracağı etkenler için yararlı etkin bir yöntem. Gövdeden obur dalların çıkmasını azaltmak için sürülür. Kireçleme ağaçları güneş yanığından korumak için yapılıyor. Ağaçlar da güneşten yanabiliyorlar. Bu arada odun dokudaki gözenekleri doldurarak kapattığı için, zararlıların yuv

Azərbaycan Dilində Vurğu Qəbul Etmeyen Şekilçiler

Sözlərdə hecalardan birinin digərlərinə nisbətən daha qüvvətli deyilməsinə heca vurğusu deyilir. Üzərinə vurğu düşən hecaya isə vurğulu heca deyilir. Azərbaycan dilində vurğu adətən söz sonuna düşür. Söz şəkilçi qəbul ederkən vurğu adətən şəkilçinin üzərinə keçir. Məsələn: çiç ə k - çiçəkl ə r - çiçəklərd ə n məkt ə b - məktəbl i - məktəblil ə r - məktəblilərd ə n Buna baxmayaraq dilimizdə bir sıra şəkilçilər var ki onlar vurğu qebul etmirlər. Bu məqalədə Azərbaycan dilində vurğu qebul etməyən şəkilçilər incələnəcək ve bu şekilçilərin hansı hallarda vurğu qebul edib hansı hallarda vurğu qebul etmediyi araşdırılacaqdır. Eyni zamanda bildirmək istəyirəm ki vurğu ilə bağlı daha geniş və ətraflı məlumat üçün Azərbaycan Dilində Vurğunun Praktik Məsələləri adlı məqaləyə də nəzər yetirə bilərsiniz.  1. İsimlərdəki şəxs(xəbərlik) şəkilçiləri Məsələn: müəli'məm müəli'msən müəli'mdir müəli'mik müəli'msiniz müəli'mdirlər Qeyd: -dır4