Siz mühendisliğe izin vermeden mümkün olan en sağlam kodu yazdığınızı nereden biliyorsunuz?
Sağlam kod olarak ne düşünüyorsunuz? Zaten gelecekteki kanıtı olan ve her durumla başa çıkabilecek kadar güçlü olan bir kod mu? Yanlış, kimse geleceği tahmin edemez! Ve yine yanlış, çünkü karmaşık ve sürdürülemez bir karışıklık olacak.
Çeşitli prensipleri takip ediyorum: Her şeyden önce YAGNI (henüz) ve KISS , bu yüzden gereksiz kod yazmıyorum. Bu aynı zamanda etkili bir şekilde mühendisliği önler. Uzantılara ihtiyaç duyulduğunda uygulamayı yeniden değerlendiririm. Modern yeniden düzenleme araçları, kolayca arabirimler oluşturmanıza ve daha sonra ihtiyaç duyduğunuzda uygulamaları değiştirmenize olanak sağlar.
Sonra yazdığım kodu olabildiğince sağlam hale getirmeye çalışıyorum, programın alabileceği (ve aynı zamanda durumları) alabildiği yolları ve biraz Spartalı programlamayı ortadan kaldırmak da dahil . Büyük bir yardım, dış durumlara dayanmayan ya da en azından başarısız olduklarında programı tutarsız bir durumda bırakmayan "atomik" işlevler / yöntemlerdir. Bunu iyi yaparsanız, spagetti koduyla sonuçlanma ihtimaliniz çok düşüktür ve bu da sürdürülebilirlik için bir nimettir. Ayrıca, nesne yönelimli tasarımda, SOLID ilkeleri sağlam kodlar için harika bir rehberdir.
Gerçekten, çoğu zaman karmaşıklığı azaltabileceğinizi, örneğin program yollarının veya durumların birleştirici patlamalarını, mümkün olan en düz yol olarak nasıl tasarlayabileceğinizi düşünerek öğrendim. Alt rutinlerinizin en iyi sıralamasını seçip bu amaç için tasarlayarak olası kombinasyonları minimumda tutmaya çalışın.
Sağlam kod her zaman basit ve temiz bir koddur, ancak basitlik her zaman kolay elde edilemeyen bir özelliktir. Yine de bunun için çaba göstermelisin. Her zaman sadece mümkün olan en basit kodu yazın ve başka seçeneğiniz olmadığında karmaşıklık ekleyin.
Sadelik sağlam, karmaşıklık kırılgandır.
Karmaşıklık öldürür.