İçeriğe geç
Sedat Özdemir

Bloga dön

18 Nisan 2025 · 2 dk okuma

Basit kod, akıllı koddan iyidir

Zekice yazılmış bir fonksiyon bir kez yazan kişiyi mutlu eder, sonraki on kişiyi yavaşlatır. On yılda öğrendiğim en pahalı ders bu.

Yazılıma yeni başlayan hemen herkes bir dönem zekice kod yazmayı hedefler. Ben de yazdım. Üç satıra sıkıştırılmış bir döngü, iç içe üç tane üçlü operatör, adı iki harf olan bir değişken. Yazdığım gün kendimle gurur duyuyordum.

Altı ay sonra aynı dosyayı açtım ve ne yaptığını anlamak yirmi dakikamı aldı. Kodu yazan bendim. Yirmi dakika.

Maliyet kodu yazarken değil, okurken ortaya çıkıyor

Bir satır kod bir kez yazılır, ama onlarca kez okunur: hata ararken, yeni bir özellik eklerken, yeni gelen biri projeyi öğrenirken. Dolayısıyla bir satırın gerçek maliyeti yazma süresi değil, okuma süresinin toplamı.

Bu hesabı bir kez yaptığınızda tercihleriniz değişiyor. Uzun ama açık bir isim, kısa ve şifreli olandan iyidir. Erken çıkan dört kontrol, iç içe geçmiş dört if bloğundan iyidir. Ne yaptığını söyleyen bir fonksiyon adı, üstüne yazılmış bir yorumdan iyidir.

Yorum ne yaptığını değil neden yaptığını anlatır

Kodun ne yaptığını kodun kendisi söylüyor. Yorumun işi, kodun söyleyemediğini söylemek: neden bu garip kontrol burada duruyor, hangi iş kuralı bu hesabı zorunlu kılıyor, buraya dokunan kişi neyi kırar.

Ne yaptığını tekrar eden yorum, kod ilk değiştiğinde yalana dönüşür. Ve kimse onu güncellemez.

Basit olmak tembellik değil

Basit çözüm genelde daha uzun düşünmeyi gerektiriyor. Karmaşık çözüm ilk akla gelen şeydir; basit olan, problemi gerçekten anladıktan sonra kalan şey. İkisi arasındaki fark, projenin altı ay sonra hâlâ ilerleyip ilerlemediğini belirliyor.