Bunu açıklamak çok zordur çünkü basit herkes için aynı anlama gelmez.
Misal. Bazı geliştiriciler bunun ?:
basit olduğunu düşünüyor, bazıları ise bir if
ifadenin daha iyi olduğunu düşünüyor . Bu seviyeye düştüğünde, herkesi memnun edemezsiniz.
Genel olarak, basit karmaşıklık olmadan anlamına gelir . Basitliği anlamak için karmaşıklığı anlamamız gerekir.
İki tür karmaşıklık vardır:
Temel karmaşıklık , bir soruna tüm makul çözümlerin karmaşık (ve muhtemelen kafa karıştırıcı) olması gerektiği bir durumu ifade eder, çünkü "basit" çözümler sorunu yeterince çözmez. - Wikipedia
Kazara oluşan karmaşıklık , bilgisayar programlarında veya bunların çözülmesi gereken sorun için gerekli olmayan geliştirme süreçlerinde (bilgisayar programlama) ortaya çıkan karmaşıklıktır. - Wikipedia
Temel karmaşıklığı aşağıdaki sorularla kontrol edebilirsiniz:
Bu çözüm basit mi? Birkaç dakika içinde akranıma açıklayabilir miyim? Sorunun daha basit bir çözümü var mı? Evet ise, karmaşık çözüm ile basit çözüm arasında herhangi bir ödünleşim var mı? Bu ödünleşmelerle yaşayabilir miyiz? Örneğin, birçok programcı her şeyi optimize etmek için mikro hata yapar ve çözümlerini (ve kodunu) aşırı derecede karmaşık hale getirir.
Yanlışlıkla karmaşıklığınızı kontrol etme:
Kod basit mi? Üç ay içinde geri gelirsem, yapmam gereken değişikliği yapabilmem için beynimdeki bağlamı oluşturmam ne kadar sürer? Kaynak kodumdaki her şeyin açık bir amacı var mı ve bu amacı bana ve diğer geliştiricilere etkili bir şekilde aktarıyor mu? Kodumu test etmek ne kadar zor? Genellikle kodunuz ne kadar karmaşıksa, birim testi o kadar zor olur, bu yüzden bunu genellikle karmaşıklığın bir ölçüsü olarak kullanırım. Genellikle küçük, iyi adlandırılmış ve odaklanmış sınıflar ve yöntemler istersiniz. Tasarım modelleri genellikle bunları başarmanıza da yardımcı olur.
Kendinizi sadece okuduğunuz için bir tasarım deseni kullanmak isteyen bulursanız, muhtemelen yanlışlıkla karmaşıklık getirecektir. Kendinizi 'akıllı olduğunu' düşündüğünüz için bir şey koymak istediğinizi bulursanız, muhtemelen yanlışlıkla karmaşıklık getirecektir.
Umarım bu yardımcı olur ve unutma: Basit, KOLAY anlamına gelmez .