Clean Code (Temiz Kod) Nedir?
Clean Code, Robert C. Martin'in aynı adlı kitabıyla popülerleşen bir yazılım geliştirme felsefesidir. Temiz kod, okunması, anlaşılması ve bakımı kolay olan koddur. İyi yazılmış kod, yalnızca bilgisayar tarafından değil, diğer geliştiriciler tarafından da kolayca anlaşılabilmelidir. Martin'in deyimiyle: "Temiz kod, başka bir geliştirici tarafından okunabilir ve geliştirilebilir koddur."
Neden Temiz Kod Yazmalıyız?
Yazılım projelerinde kodun okunma süresi, yazılma süresinden çok daha fazladır. Araştırmalar, geliştiricilerin zamanlarının yaklaşık yüzde seksenini mevcut kodu okumaya ve anlamaya harcadığını göstermektedir. Bu nedenle temiz kod yazmanın faydaları çok büyüktür:
- Bakım kolaylığı: Hataları bulmak ve düzeltmek daha hızlı olur
- Ekip verimliliği: Yeni ekip üyeleri projeye daha hızlı adapte olur
- Daha az hata: Anlaşılır kod, daha az bug üretir
- Teknik borç azaltma: Uzun vadede bakım maliyetlerini düşürür
- Ölçeklenebilirlik: Yeni özellikler eklemek kolaylaşır
Temiz Kod Prensipleri
1. Anlamlı İsimlendirme
Değişken, fonksiyon ve sınıf isimleri, ne yaptıklarını açıkça ifade etmelidir. Kısaltmalardan ve belirsiz isimlerden kaçınılmalıdır.
İyi isim, yorum ihtiyacını ortadan kaldırır. Eğer bir isme yorum eklemeniz gerekiyorsa, ismi değiştirin.
2. Küçük Fonksiyonlar
Fonksiyonlar küçük ve tek bir iş yapmalıdır. Her fonksiyon tek bir soyutlama seviyesinde çalışmalı ve yan etkilerden kaçınmalıdır. İdeal bir fonksiyon yirmi satırı geçmemelidir.
3. DRY (Don't Repeat Yourself)
Kod tekrarından kaçınılmalıdır. Aynı mantığı birden fazla yerde yazmak yerine, ortak bir fonksiyon veya sınıf oluşturulmalıdır. Tekrar eden kod, değişiklik yapıldığında tüm kopyaların güncellenmesini gerektirir ve hata riskini artırır.
4. KISS (Keep It Simple, Stupid)
Basitlik, iyi yazılımın temel taşıdır. Gereksiz karmaşıklıktan kaçının ve en basit çözümü tercih edin. Karmaşık bir çözüm genellikle bakımı zor ve hatalara açık olur.
5. Yorum Yazma Sanatı
Temiz kodda yorumlar minimumda tutulmalıdır. Kod kendini açıklamalıdır. Ancak bazı durumlarda yorumlar gerekli olabilir:
- Karmaşık iş mantığını açıklamak için
- Yasal veya lisans bilgileri için
- Neden belirli bir yaklaşımın tercih edildiğini belirtmek için
- TODO ve uyarı notları için
Kod Kokuları (Code Smells)
Kod kokuları, kodda potansiyel sorunları işaret eden belirtilerdir. Yaygın kod kokuları şunlardır:
| Kod Kokusu | Açıklama |
|---|---|
| Uzun fonksiyonlar | Çok fazla iş yapan fonksiyonlar |
| Büyük sınıflar | Çok fazla sorumluluk taşıyan sınıflar |
| Çok fazla parametre | Üçten fazla parametre alan fonksiyonlar |
| Kod tekrarı | Aynı mantığın farklı yerlerde tekrarlanması |
| Ölü kod | Kullanılmayan kod blokları |
| Sihirli sayılar | Açıklama olmadan kullanılan sabit değerler |
Refactoring (Yeniden Yapılandırma)
Refactoring, kodun davranışını değiştirmeden iç yapısını iyileştirme sürecidir. Temiz kod yazmanın önemli bir parçası olan refactoring teknikleri şunlardır:
- Fonksiyon çıkarma (Extract Method): Uzun fonksiyonları küçük parçalara ayırma
- Değişken çıkarma (Extract Variable): Karmaşık ifadeleri açıklayıcı değişkenlere atama
- Sınıf çıkarma (Extract Class): Büyük sınıfları daha küçük, odaklı sınıflara bölme
- İsimlendirme iyileştirme: Daha açıklayıcı isimler kullanma
- Koşulları sadeleştirme: Karmaşık if-else yapılarını basitleştirme
Test ile Temiz Kod
Temiz kod ve test yazma birbirini tamamlar. Birim testleri, refactoring sırasında kodun doğruluğunu garanti altına alır. TDD (Test-Driven Development) yaklaşımı, temiz kod yazmayı doğal hale getirir.
Sonuç
Temiz kod yazmak, bir beceri olmanın ötesinde bir disiplindir. Ekolsoft olarak projelerimizde temiz kod prensiplerine bağlı kalarak sürdürülebilir ve kaliteli yazılımlar geliştiriyoruz. Her geliştirici, kod yazarken "Bu kodu altı ay sonra okuyan biri anlayabilir mi?" sorusunu kendine sormalıdır. Temiz kod yazmaya yatırım yapmak, uzun vadede hem bireysel hem de ekip verimliliğini büyük ölçüde artırır.