47 puan yazan GN⁺ 2026-05-06 | 6 yorum | WhatsApp'ta paylaş
  • "Clean Code" ile tanınan Uncle Bob, yapay zekanın geliştiricilerden ezici biçimde daha hızlı kod yazdığı çağın geldiğini ilan ederek geliştiricilerin rolünün değişmesi gerektiğini vurguluyor
  • Eskiden bir gün süren işleri yapay zeka yalnızca 5 dakikada tamamlayabildiği için, geliştiricilerin kodu bizzat yazdığı dönem sona erdi
  • Ancak bunun geliştiricilere muazzam bir güç verdiği ve geçmişte hayal bile edilemeyen işleri mümkün kıldığı söyleniyor
  • Test kapsamı acı vericiydi, ancak geliştiriciler artık yapay zekaya test kapsamını sağlama talimatı verebilir ve mutation tester kullanarak testlerin gerçek geçerliliğini doğrulayabilir
  • Döngüsel karmaşıklık (cyclomatic complexity) analiz araçlarıyla birleştirildiğinde, yapay zekaya kod kalitesini eskisine göre çok daha yüksek bir seviyeye çıkarması söylenebilir

Ekli videonun metni

Gerçeklerle yüzleşelim. Yapay zeka sizden kat kat daha hızlı kod yazıyor. Sizin bir günde yapacağınız işi yapay zeka 5 dakikada bitiriyor. Bitti. Kodu bizzat yazdığınız dönem sona erdi. Biliyorum. Kabullenin.

Ama işin ilginç tarafı şu: Bu durum size muazzam bir güç veriyor. Çünkü artık daha önce hayalini bile kuramadığınız şeyleri yapabiliyorsunuz.

Örneğin test kapsamını düşünün. Ne kadar sancılı olduğunu biliyorum. O can sıkıcı testlerin hepsini yazmak zorundaydınız. Üstelik testlerin var olması, kodun gerçekten doğru çalıştığı anlamına da gelmiyordu. Kod kapsamını çalıştırıp hafifçe gülümseyerek, "Tamam, evet, ama bu kodun çalıştığı anlamına gelmiyor… sadece çalıştırıldığı anlamına geliyor" diyordunuz.

Artık bunu düzeltebiliriz. Çünkü artık beygir gücümüz (horsepower) var. Yapay zekaya kodu kapsamasını söyleyin, ardından mutation tester çalıştırın. Evet, bu bir araç. O aracı da yapay zekaya yaptırabilirsiniz. 5 dakikada yapar. Sonra yapay zekaya o aracı çalıştırmasını söyleyin. Bu araç kaynak kodda değişiklikler yapar ve tüm testleri çalıştırır. Testler başarısız olmazsa ne olur? O zaman başarısız olmalarını sağlayacak testleri yazar. Böylece gerçek test kapsamına sahip olursunuz.

Yemin ederim, gerçek test kapsamına sahip olursunuz.

Bir de başka ne yapabileceğinizi biliyor musunuz? Kodun kalitesini analiz edebilirsiniz. Döngüsel karmaşıklığa bakan bir araç yazabilirsiniz. Aslında zaten harika bir araç var. 20 yıllık bir araç. Adı CRAP. Güzel isim. Neyin kısaltması olduğunu bilmiyorum. Bilmek de istemiyorum. Test kapsamı ile döngüsel karmaşıklığın birleşimi bu. Yapay zekaya CRAP puanını 5'in, hatta 4'ün altına indirmesini söyleyebilirsiniz. O zaman yapay zeka büyük fonksiyonları küçük parçalara böler ve hepsini testlerle kapsar.

Sahip olduğunuz gücü bir düşünün. Kod kalitesini daha önce görülmemiş bir seviyeye çıkarabilirsiniz.

Biliyorum. Ben o yaşlı Clean Code adamıyım. Ama dürüst olacağım. Yapay zekayı sıkı çalıştırırsanız, kodu çok, çok daha temiz hale getirebilirsiniz.

6 yorum

 
GN⁺ 2026-05-06
Reddit yorumları
  • Normalde Mark Hamill’in yaptığı kötü karakter seslerine benziyor

    • Burada neredeyse Joker tarafına kaymış. Zaten hep çizgi roman karakteri gibi mi konuşuyordu?
    • Incredibles’daki babadan sorumlu sigorta şirketi yöneticisinin sesine benziyor
    • Daha çok komedyen Lewis Black havası var. Bir anda öfke dolu uzun bir tirada patlayacak sandım ama sonuna kadar patlamadı, biraz hayal kırıklığı oldu
    • Bana daha çok Matrix’te Neo’yu sorguladıkları sahneyi hatırlattı. “Hello Mr Anderson” gibi bir hava
  • Bu gerçekten her şeyi görmüş geçirmiş bir geliştirici gibi duruyor

    • Aynen. Artık if (f == -1) { printf("open failed\n"); exit(1); } gibi kodları bir daha yazacağımı sanmıyorum
      Onun yerine bunu yapay zeka yazacak; mümkün olan tüm hata nedenleri için anlamlı parametrelerle ayrı hata tipleri ve mesajlar ekleyecek. Yapay zeka benim kadar tembel olmadığı için artık dosya işleme mantığına odaklanabilirim
  • Sanırım artık kodun çoğunun boilerplate kod olduğu bir döneme giriyoruz. Asıl gereken şey, ihtiyaçları iyi aktarabilme becerisi ve üretilen kodun güvenliğini (OWASP) ve performansını sürekli denetlemenin bir yolu

    • Aslında kod zaten çoğunlukla boilerplate değil miydi? Şık algoritmalar yazmak güzel ama sonunda onu bir ürünün içine koyup CRUD, yetkilendirme, arayüz, çoklu platform desteği, ödeme gibi şeyleri de eklemek gerekiyor
    • Sanki büyük dil modeli yüksek seviyeli bir DSL’yi gerçek koda güvenilir şekilde dönüştüren bir transpiler’mış gibi konuşuluyor ama hiç de öyle değil
      Aşırı derecede deterministik değil ve en güncel modeller bile gün içinde “eh iş görür” ile “neredeyse kullanılamaz” arasında ciddi dalgalanabiliyor
      Doğal dil geçmişte de, şimdi de, gelecekte de muğlak ve belirsiz olduğu için bu sorunun muhtemelen çözülememesi çok olası. Bu yüzden “hmm, X’i Y’ye ekle ve Z’ye girince iyi düşün” demek yerine matematiksel formüller kullanıyoruz
    • “İhtiyacın olan şeyi etkili biçimde anlatabilmen yeterli” noktasına daha çok var
      Şu anda bile Claude ile yetkileri etkili şekilde ele almanın yolunu oturtmaya çalışıyorum ve yeni aksiyonlar / yetki değişiklikleri için uyguladığı yaklaşım, “kabaca çalışıyor ama bir gün mutlaka kırılacak” kodun kusursuz bir örneğiydi
      Claude iyi kod yazıyor ama her zaman iyi kod yazmıyor
      Yapay zeka hakkında anlaşılması gereken şey şu: “düşünme” konusunda insanlardan daha iyi değil, sadece daha hızlı. Bir şeyi istediğinizde çoğu insanın yapacağı şekilde yapıyor ama kod söz konusu olduğunda bu çoğu zaman pek iyi bir şey değil
      Eskiden de birkaç geliştirici işe alıp ne istediğinizi söyleyerek bir sürü bug dolu sonuç alabiliyordunuz ve tek bir değişiklik üç başka yeri bozabiliyordu. Claude’u kendi haline bırakırsanız o da aynısını yapıyor. Bunu bizzat gördüm ve çözüm her zaman içeri girip yazılan kodu okumak, sonra da daha az kırılan ve daha sağlam olacak şekilde refactor etmesini söylemek oluyor
      Claude ile kod yazdığınız sürece, o kodun iyi olup olmadığını değerlendirebilme yeteneğine hâlâ ihtiyacınız var. Tıpkı özgeçmişinizi ya da muhasebe evraklarınızı ona yazdırsanız bile çıkan sonucu kontrol etmeniz gerekmesi gibi
      Eskisi gibi kod yazmayacağız belki ama ortaya çıkan şeyi okuyup deneyim ışığında gözden geçirme becerisi hâlâ gerekli
      Sorun şu ki herkes “İngilizce biliyorum, o zaman Claude’a program yaptırabilirim” diye düşünüyor. Ama İngilizce bilmek, Claude’a Hawking radiation’ı çürüten bir doktora tezi yazdırabileceğiniz anlamına gelmiyor. Çünkü sonucun doğru olup olmadığını değerlendirecek hiçbir yolunuz yok
    • Arada birkaç adım daha var
    • Bu bana, assembly’nin çoğunun boilerplate olduğu dönemi yeni yeni geride bırakmışız gibi geliyor
  • Microsoft scaffoldingi tanıttığında bugün olduğundan daha fazla değil, daha az programcı yoktu; şimdi daha fazla programcı var. Basic gibi diller sayesinde assembler yerine insanların okuyabildiği komutları girmeye başladığımızda da, ondan önce delikli kartlara kod basılan döneme kıyasla daha fazla programcı vardı
    Bilgisayarlar her zaman giderek daha az kısıtlı, okuyup yazması daha kolay komut kümeleriyle programlandı
    Bob Martin saygı duyduğum biri ama bu kez haksız olduğunu düşünüyorum. İnsanlar hâlâ bilgisayara komut yazacak. Sadece bunu sınırlı ve çok belirli komut kümeleriyle değil, çok daha az kısıtlı ve insanlar için çok daha okunabilir bir dille yapacaklar
    Hiçbir şey bitmedi. Daha yeni başlıyor. Programlama yeni bir dil çıkardı ve onun adı English

    • Bu tartışmada herkesin unuttuğu şey, hedefin vibe coding icat edilmeden önceki gün yaptığımız işi aynen kodlamaya devam etmek olmadığı
      Zaten bugün bile rekor miktarda yazılım üretiyoruz ve bu daha da hızlanacak. Öncekinden daha fazla kod yazacağız ve çok daha hızlı olsak bile sonunda daha fazla insan bir şekilde yazılımla çalışıyor olacak. Çünkü çıktı aşırı ucuzladı; bu da Jevons paradoksuna benziyor
      “Bu kez farklı” diye düşünmek kibirli bir yaklaşım ve zeki insanlar bile çok boyutlu üstel büyümenin ne anlama geldiğini hayal etmekte zorlanıyor. İyileşen tek şey büyük dil modelleri değil
      O yüzden buna katılıyorum
    • O zaman aynı mantıkla konuşmayı da bir açıkla bakalım
    • Kodu değil sadece testleri review etmemiz gerektiğini bile söylediğini duydum; bence bu neredeyse hezeyan. Sanki üretimde asla deploy edilmeyecek hobi projelerinden bahsediyor
    • Uncle Bob bununla ilgili söyledikleri hakkında bir tweet atmıştı
  • Bu balonun zirvesi tam olarak bu, değil mi? Buraya not düşüyorum ☎️

  • Onun anlattığı çalışma biçimi, yazılım kalite metrikleri, profesyonel testler ve yıllara dayanan kod kalitesi anlayışı gerektiriyor
    Henüz bu tür araçlar yeterince yok. En azından yaygın şekilde benimsenmiş değiller. Sektörün bunu kabul edeceğinden de emin değilim
    CI/CD uygulamalarını hayata geçirmek o kadar da zor değildi ama birçok şirket yine de hepsini benimsemedi ve bunun yerine daha fazla insan alıp verimsiz şekilde çalışmaya devam etti. Yapay zeka bunların hepsini varsayılan olarak halletmedikçe böyle olmaya devam edecek. Mevcut Claude Code, Cursor ve Codes araçları bunun için yeterli değil

    • Kelimenin tam anlamıyla onu ben yaptım
    • Bunu alaycı ya da ironik söylemediğini neden düşünüyorsun? Araçların anlatıldığı şekilde faydalı hale gelmesine daha çok var
  • Bu adamı Agent yapmış bir Matrix gibi

    • The Architect demek istemedin mi?
  • Yapay zekayı düzgün yönlendirmek için üst düzey teknik derinlik gerekiyor. AI’a durmadan kod ekletmek tek başına sürdürülebilir değil
    Ayrıca hâlâ tamamen yapay zekayla işletilen, pazar düzeyinde tek bir ürün bile duymadım. O yüzden biraz sakin olmak lazım

  • Sıradaki adım herhalde insan beynini de vibe coding’le programlamak olur

 
hmmhmmhm 2026-05-07

Güzel yazı için teşekkürler

 
kurthong 2026-05-07

Sahadaki geliştiricilerin görüşlerine bakınca gerçekten de kod yazanların dönemi bitmiş gibi görünüyor. Sanayi Devrimi sırasında makineleri parçalayan işçilerden farkları yok gibi. Oldukça makul görünen yeni bir dil ortaya çıktı; buna hızla uyum sağlamazsanız "elenirsiniz".

 
kaydash 2026-05-06

Ama kodu olduğu gibi yığıp bırakan durumlar da çok fazla..

 
nodelay 2026-05-06

reddit'teki görüşler olumsuz ya da alaycı sözlerle dolu gibi görünüyor.
Gerçekte yapay zeka sayesinde test kapsamı, E2E testleri gibi şimdiye kadar ertelenmiş kısımları kararlı biçimde ilerlettiğimiz durumlarda ise bu tutum bana daha çok sinik görünüyor.