Diğer cevapların çoğu daha büyük tasarım konularını ele alıyor ya da oldukça soyut. Gelecekte ne olacağını düşünürseniz , kodu geleceğe hazırlamanıza yardımcı olacak bazı açık teknikleri tanımlayabilirsiniz .
Öncelikle gelecekte kodun bir özellik eklemeye çalışacağını veya kodunuzu başka bir yerde tekrar kullanmaya çalışacağını düşünün. Ayrıca koddaki bir özelliği düzeltmeyi deneyebilirler. Açıkçası, sadece iyi temiz kodlara sahip olmak gerekli bir başlangıç noktasıdır, ancak yapılabilecek bazı özel teknikler de vardır.
Defansif Programlama : Mevcut uygulamanın gerçekten ihtiyaç duyduğu şeyin ötesinde giriş kontrolü yapın. API'leri her çağırdığınızda, girişlerinin beklediğiniz bir şey olup olmadığını kontrol ettiğinizden emin olun. Gelecekte insanlar yeni kod sürümlerini bir araya getirecekler, bu nedenle hataların ve API iadelerinin kapsamı şu anki durumdan farklı olacaktır.
Tanımsız Davranışı Ortadan Kaldır : Pek çok kod, bir şekilde gelişen bir davranışa sahiptir. Bazı girdi kombinasyonları, hiç kimsenin gerçekten istemediği ancak gerçekleşen kesin çıktıya yol açar. Şimdi kaçınılmaz olarak birileri bu davranışa güvenecek, ancak tanımlanmadığı için kimse bunu bilemeyecek. Gelecekte davranışını değiştirmeye çalışan herkes, istemeden bir şeyleri bozacaktır. Şimdi güvenlik kontrollerini kullanın ve kodun tanımsız tüm kullanımlarını kaldırmaya / engellemeye çalışın.
Otomatik Test Paketi : Ünite testlerine duyulan ihtiyaç hakkında yazılmış birimler bulabileceğinize eminim. Ancak gelecekteki provalara atıfta bulunmak suretiyle, birisinin kodu yeniden düzenlemesine izin vermede kritik bir nokta vardır. Yeniden düzenleme, temiz kodu sağlamak için gereklidir, ancak iyi bir test paketi yoksa, güvenli bir şekilde yeniden denetleyici kuramazsınız.
Yalıtım ve Ayrıştırma : Kapsülleme ve uygun modülerleştirme iyi bir tasarım ilkesidir, ancak bunun ötesine geçmeniz gerekir. Genellikle, şüpheli bir geleceği olabilecek bir kütüphane veya API veya ürün kullanmanız gerektiğini göreceksiniz. Belki de kalite kaygıları, lisans sorunları veya yazarların geliştirmeye devam etmeleri nedeniyle. Bu durumlarda, siz ve bu kod arasına bir katman koymak için ekstra zaman ayırın. İhtiyacınız olan şey için API'yi aşağı kaydırın, böylece gelecekte daha kolay bir değişim sağlamak için bağlantı çok düşüktür.