Clean Code Nedir? Kirli Koddan Kurtulmanın 5 Adımı

Yazılım dünyasında her geliştiricinin ortak amacı, yalnızca çalışan değil, aynı zamanda anlaşır, sürdürür ve esnek kod yazmaktır. Ancak gerçek dünya projelerinde çoğu zaman bu idealin uzağında kalınır. Zaman baskısı, kötü alışkanlıklar, yeterli planlamanın yapılmaması veya ekip içi iletişim eksikliği sonucunda ortaya çıkan şey, “kirli kod” olarak öne çıkar. Kirli kod, kısa vadede çalışsa bile uzun vadede bakım maliyetlerini artırır, hata oranını yükseltir ve ekibi yorar. Bu noktada devreye Clean Code (Temiz Kod) anlayışı girer.

Clean Code Nedir?

“Clean Code”, yazılım mühendisliğinde kodun yalnızca çalışmasını değil, okunabilirliğini, sürdürülebilirliğini ve geliştirilebilirliğini de önemseyen bir yaklaşımdır. Bu terimi popülerleştiren kişi, yazılım dünyasında efsane olarak kabul edilen Robert C. Martin (Uncle Bob)’dur. Onun aynı adlı kitabı “Clean Code: A Handbook of Agile Software Craftsmanship”, bu konuda bir başvuru kaynağı haline gelmiştir.

Clean code, sade bir dille şunu söyler:

“Kod, yazıldığı kadar okunur.”

Yani bir yazılımcı, kodu yalnızca bilgisayarın anlayacağı şekilde değil, diğer insanların da kolayca anlayabileceği biçimde yazmalıdır. Çünkü iyi kod, gelecekte başka biri (veya kendiniz) tarafından okunup geliştirilecektir.

Temiz kodun bazı temel özellikleri şunlardır:

Kirli Kod Nedir ve Neden Ortaya Çıkar?

Kirli kod (spaghetti code olarak da bilinir), kısa vadede “çalışan” ama uzun vadede sorun çıkaran koddur. Bu tür kodlar genellikle şu nedenlerle ortaya çıkar:

  1. Zaman baskısı: “Sonra düzeltiriz” düşüncesiyle acele yazılan kodlar.
  2. Planlama eksikliği: Kod yapısının baştan düşünülmemesi.
  3. Takım içi standart eksikliği: Her geliştiricinin kendi tarzında kod yazması.
  4. Dokümantasyon eksikliği: Kodun ne yaptığını açıklayan notların olmaması.
  5. Refaktör yapılmaması: Zamanla büyüyen ve karmaşıklaşan kodun düzenlenmemesi.

Kirli kodun sonuçları ise oldukça yıkıcı olabilir. Kod tabanı büyüdükçe yeni özellik eklemek zorlaşır, hatalar çoğalır, test süreçleri karmaşık hale gelir. Bu noktada yazılımın maliyeti katlanarak artar ve ekip motivasyonu düşer.

Kirli Koddan Kurtulmanın 5 Adımı

Kirli koddan tamamen kaçınmak her zaman mümkün olmasa da, belirli alışkanlıklarla temiz koda yaklaşmak mümkündür. İşte uygulayabileceğiniz 5 etkili adım:

1. Anlamlı İsimlendirmeler Kullanın

Kodun en önemli unsurlarından biri isimlendirmedir. Değişken, fonksiyon, sınıf veya dosya isimleri; ne yaptıklarını açıkça anlatmalıdır.
Kötü bir örnek:

a = getData(x)

Daha temiz bir örnek:

user_data = fetch_user_profile(user_id)

İsimler, kodun ne yaptığını açıklayan küçük birer belgedir. Anlamlı isimlendirme sayesinde koda bakan kişi, fonksiyonun içeriğini okumadan bile ne yaptığını anlayabilir.


2. Fonksiyonları Küçük ve Odaklı Tutun

Bir fonksiyon yalnızca tek bir işi yapmalıdır. Eğer bir fonksiyon “ve”, “ya da” gibi bağlaçlarla açıklanabiliyorsa, o fonksiyon muhtemelen fazla iş yapıyor demektir.
Küçük, tek amaçlı fonksiyonlar hem okunabilirliği artırır hem de test yazmayı kolaylaştırır.

Uncle Bob’un ünlü sözüyle:

“Fonksiyonlar küçük olmalı. Mümkünse birkaç satırdan fazla olmamalı.”

Böylece kodun her bölümü, tıpkı iyi düzenlenmiş bir kitap gibi, kolayca anlaşılır hale gelir.

3. Yorum Satırlarını Azaltın, Kodun Kendi Kendini Açıklamasını Sağlayın

Yorum satırları bazen faydalı olsa da, aşırı kullanımı genellikle kötü koddur. Çünkü temiz kodun kendisini açıklaması gerekir.
Kötü örnek:

# Kullanıcıyı veritabanından getirir
def getUser(id):
    return db.find(id)

Daha temiz yaklaşım:

def find_user_by_id(user_id):
    return db.find(user_id)

Kodun anlamı zaten açık olduğunda, yorum satırına gerek kalmaz. Bu yaklaşım, kodun zamanla eskimesini ve yanlış yönlendiren açıklamaların oluşmasını da engeller.

4. Kod Tekrarından Kaçının (DRY Prensibi)

DRY – Don’t Repeat Yourself prensibi, temiz kodun temel taşlarından biridir. Aynı işlevi farklı yerlerde tekrar eden kod, hata yapma riskini artırır.
Bunun yerine, tekrarlayan kodları fonksiyonlara veya sınıflara ayırmak gerekir.
Bu sayede değişiklik gerektiğinde tek bir yerden müdahale edilir, bakım kolaylaşır.


5. Sürekli Refaktör Yapın

Refaktöring, kodun davranışını değiştirmeden yapısını iyileştirme sürecidir.
Birçok geliştirici, “refaktör etmek için zaman yok” der; oysa uzun vadede refaktör yapmamak daha fazla zaman kaybettirir.
Kodunuzu düzenli aralıklarla gözden geçirerek, eski veya gereksiz kısımları temizlemek, projenin ömrünü uzatır.

Refaktör sürecinde şu soruları sormak faydalıdır:

Yayım tarihi
×

Lütfen ücretsiz deneme talep formunu doldurun, hemen e-ticarete başlayın!