Kodu çalıştırmak bir beceridir. Ama yazdığınız kodu başka birinin (ya da altı ay sonraki kendinizin) anlayabilmesi ayrı bir beceridir. İşte clean code nedir sorusu tam bu noktada devreye girer. Clean code nedir diye sorulduğunda tek bir tanım vermek güçtür. Robert C. Martin'in "temiz kod, başka bir geliştirici tarafından kolayca okunabilir ve değiştirilebilir koddur" şeklindeki tarifi yaygın kabul görür. Çalışan ama anlaşılamayan kod, temiz kod değildir. Okunabilir kod yazmanın temel ilkelerini şöyle sıralamak mümkün: **1. Anlamlı isimler kullan** "x", "temp", "data" gibi isimler hiçbir şey anlatmaz. "customerAge", "totalPrice", "isLoggedIn" gibi isimler ise kodu okuyan kişiye bağlamı anında verir. Clean code nedir sorusunun ilk cevabı budur: iyi isimler. **2. Fonksiyonlar tek iş yapsın** Bir fonksiyon hem kullanıcı doğrulaması yapıyor hem veritabanına kaydediyor hem de e-posta gönderiyorsa, bu fonksiyon çok fazla sorumluluk üstlenmiş demektir. Her fonksiyon yalnızca bir iş yapmalıdır. **3. Yorum satırları kodu değil, niyeti açıklar** Yorumlar kötü kodun özürü değildir. Kodu ne yaptığını açıklamak yerine neden öyle yapıldığını açıklamalıdır. Eğer kodu okuyunca ne yaptığı anlaşılmıyorsa, kod yeniden yazılmalıdır. **4. Tekrarlayan kod bloklarından kaçın (DRY)** "Don't Repeat Yourself", aynı kodu birden fazla yere yapıştırmak, değişiklik gerektiğinde her yeri güncelleme yükü yaratır. Tekrar eden kodlar fonksiyon veya sınıflara taşınmalıdır. **5. Küçük, odaklı sınıflar yaz** Sınıflar da fonksiyonlar gibi büyüdükçe karmaşıklaşır. Her sınıfın net bir sorumluluğu olmalı ve bu sorumluluk dışına çıkmamalıdır. **6. Hata yönetimini ihmal etme** Hatalar görmezden gelinirse ya da her yerde farklı şekillerde yönetilirse, bir şeyler ters gittiğinde nerede ve neden hatası olduğunu bulmak çok zorlaşır. **7. Testi yazılabilir kod üret** Clean code nedir sorusunun pratik testi: yazdığınız kodu test edebiliyor musunuz? Test yazılması zor olan kod, genellikle çok bağımlı veya karmaşık koddur. Temiz kod yazmak, deneyimle gelişen bir alışkanlıktır. Başta yavaşlatır gibi hissettirse de uzun vadede hem bireysel hem de ekip verimliliğini ciddi ölçüde artırır.