Okuduğum bir makale de şöyle diyordu; (Code is our enemy)

"Code is bad. It rots. It requires periodic maintenance. It has bugs that need to be found. New features mean old code has to be adapted. The more code you have, the more places there are for bugs to hide. The longer checkouts or compiles take. The longer it takes a new employee to make sense of your system. If you have to refactor there's more stuff to move around.

Code is produced by engineers. To make more code requires more engineers. Engineers have n^2 communication costs, and all that code they add to the system, while expanding its capability, also increases a whole basket of costs. You should do whatever possible to increase the productivity of individual programmers in terms of the expressive power of the code they write. Less code to do the same thing (and possibly better). Less programmers to hire. Less organizational communication costs." 

Hepimizin başına gelmiştir. Yazdığımız projeler büyüdükçe yaptığımız işler de artmaya başlar. Aslında yaptığımız işlerin büyük bir çoğunluğu yeni işin değildir. Yeni iş için yazdığımız kodların önceden yazılmış olan kodlarla olan entegrasyonları ve çıkan bugların düzeltilmesidir. Aslında sorun kodlar da değildir. Sorun ne mi diyorsunuz? Aynaya bakmamız yeterli olacaktır.

 Tabiki hepimiz (yazılımcılar) iyi niyetliyiz. Yaptığımız işi seviyoruz. Bir çok problemle saatlerce uğraşıp kafa patlatırız. Uykusuz kalırız. Saatlerce kod yazarız. Ancak çok kod yazmaya olan eğilimimizi dizginlemeliyiz.  

Yazılımcı olmanın doğası gereği aslında verdiğimiz her karar bir trade-off tur. İyi bir yazılımcı olmak için bu trade-off ları iyi anlamamız ve yazdığımız herşeyde bu bilinçle hareket etmemiz lazım.

Yazılmış bir kodu bir çok yönden değerlendirebilirsini;

1. Kısalığı
2. Sahip olduğu özellikler
3. Hızlı işlemesi
4. Kodlamada harcanan zaman
5. Güçlülüğü
6. Esnekliği

Yukarıdaki değerlendirme durumlarının aslında her birinin bir diğerine muhalefeti vardır.
Örneğin; çok rutin bir işi yazmak için 3 gün harcadığınızı düşünün. yukarıdaki maddelerden 2 ve 3 numaralı şartları çok iyi sağlarsınız. Ancak 4. maddeyi kesinlikle sağlayamamış olursunuz. Sonuçta rutin bir iş için 3 gün harcadınız. 

Peki buna değer mi? Bu kararları nasıl alırız? Cevap bilinçlı olmak, kodları mümkün olduğunca basit tutmaktır. 

Kod yazmayı ne kadar severseniz sevin, en iyi kod olmayan koddur. Mümkün olduğu kadar basit tutmaya çalışın kodlarınızı.