KISS Prensibi Nedir?
İngilizce: KISS Principle
Yayın: · Son güncelleme:
KISS Prensibi Nedir? Kısaca
KISS prensibi (Keep It Simple, Stupid), sistemlerin gereksiz karmaşıklıktan arındırılıp olabildiğince basit tasarlandığında en iyi çalıştığını söyleyen ilkedir. Yazılımda sade çözümleri, karmaşık ve gösterişli çözümlere tercih etmeyi önerir.

KISS prensibi nedir?
KISS, "Keep It Simple, Stupid" ifadesinin kısaltmasıdır ve kabaca "basit tut" demektir. Kökeni mühendisliğe, özellikle havacılık tasarımına dayanır. Yazılımda ise bir sorunu çözmenin en basit ve anlaşılır yolunu seçmeyi önerir.
Bazen "Keep It Short and Simple" olarak da açılır. Mesaj aynıdır: karmaşıklık bir maliyettir.
Yazılımda KISS örnekleri
Basit bir ihtiyaç için karmaşık bir yapı kurmak sık görülen bir hatadır. Örneğin küçük bir şirketin iletişim formu düşünün. Form bilgileri bir e-postaya gönderilecek. Bunun için mesaj kuyruğu, ayrı bir mikroservis ve üç farklı veritabanı kurmak teknik olarak mümkündür.
Ama tek bir fonksiyon ve güvenilir bir e-posta servisi aynı işi daha az hata riskiyle yapar.
Kod düzeyinde de geçerlidir. Tek satırda yazılmış, iç içe geçmiş zekice bir ifade yerine dört satırlık açık bir kod çoğu zaman daha iyidir. Okuyan kişi ne olduğunu hemen anlar. Hata ayıklamak da kolaylaşır.
Basitlik ile eksiklik farkı
KISS, gerekli olanı atlamak anlamına gelmez. Hata yönetimi, güvenlik kontrolleri ve test basitlik adına çıkarılmaz. Amaç, ihtiyaç olmayan karmaşıklığı eklememektir.
Bir karar verirken şunu sorun: bu ek katman bugün hangi sorunu çözüyor? Cevap "ileride lazım olabilir" ise beklemek genelde daha iyidir; bu yaklaşım YAGNI (You Aren't Gonna Need It) olarak anılır. KISS, temiz kod ve DRY ilkeleriyle birlikte kullanıldığında bakımı kolay sistemler ortaya çıkar.
Sıkça Sorulan Sorular
KISS ile YAGNI arasındaki fark nedir?
KISS, çözümün olabildiğince basit tasarlanmasını önerir. YAGNI ise henüz ihtiyaç olmayan özellikleri baştan eklememeyi söyler. İkisi de gereksiz karmaşıklığa karşıdır ve birbirini tamamlar.
Basit kod daha az mı profesyoneldir?
Hayır. Karmaşık bir sorunu basit bir çözümle halletmek genelde daha fazla deneyim gerektirir. Basit kod daha kolay okunur, test edilir ve değiştirilir.