Yazılım projelerinde, özellikle yapay zeka destekli araçlarla çalışırken CLAUDE.md gibi yapılandırma dosyalarına güvenmek yaygın bir alışkanlık haline geldi. Bu dosyalar, proje standartlarını, stil kurallarını ve geliştirme ilkelerini belgelemeyi kolaylaştırsa da, onların gerçekten uygulandığından emin olmak sandığınızdan daha zor olabilir. Ben de tam olarak böyle bir deneyim yaşadım ve WordPress.org eklenti inceleme süreci, bana bu güvenin ne kadar yanıltıcı olabileceğini gösterdi.
Yazılan her şeyin uygulandığını varsaymak tehlikeli
Bir kuralın belgeye yazılması, onun otomatik olarak uygulandığı anlamına gelmez. Uzun bir CLAUDE.md dosyası, geliştirme sürecinde yol gösterici olacağına, dikkatinizi dağıtan bir metin yığınına dönüşebilir. Özellikle dosya boyutu büyüdükçe, her bir kuralın modelin dikkatini çekmesi zorlaşır. Ben de uzun bir dosya oluşturarak bu hataya düştüm: WordPress Japonca çeviri stil kurallarını ve kendi eklenti tasarım ilkelerimi tek bir dosyada topladım. Dosya uzadıkça, güvenim de arttı — "Yazıldı, demek ki uygulanır" mantığıyla hareket ettim.
Oysa gerçek, çok farklıydı. Geliştirdiğim bir eklentinin kodunda yer alan ücretli özellikleri yönetme biçimi, WordPress.org dizin yönergelerine aykırıydı. Dosyamda açıkça yasaklanan bu uygulamayı, yapay zeka aracı da benimle aynı hatayı yaptı. Ve ben bunu ancak eklenti inceleme ekibinden gelen red cevabıyla anlayabildim.
Config dosyalarının sessizce ölüp gittiği iki yol
Config dosyalarındaki kuralların uygulanmaması, genellikle iki şekilde gerçekleşir ve her ikisi de sessizce ilerler:
- Uzunluk problemi: Dosya ne kadar uzun olursa, her bir kuralın modelin dikkatini çekmesi o kadar zorlaşır. Binlerce satırlık bir dosya, tek bir kuralın yerini bulmasını neredeyse imkansız hale getirir.
- Bağlam kayması: Proje standartları değişirken, config dosyası eski kurallarla donup kalabilir. Oysa model, dosyaya yazılan her şeyi "güncel" kabul ederek hareket eder. Bu da geçmişteki uygulamaların gelecekte de devam ettiği yanılsamasını yaratır.
Her iki durumda da, dosyaya baktığınızda kuralın orada olduğunu görürsünüz. Ancak gerçek şu ki, o kural artık işlevsizdir. Uygulandığından emin olmanın yolu, dosyaya değil, dışarıdan bir doğrulamaya ihtiyaç duyar.
Config dosyalarına güvenmek yerine ölçmeye başlamak
Bu deneyimden sonra config dosyalarına güvenmek yerine, onların gerçekten işlevsel olup olmadığını ölçmeye odaklandım. Bu yaklaşım birkaç basit değişikliği beraberinde getirdi:
- Dosyayı kısa tutmak: Her yeni kural eklemek yerine, var olan kuralların netliğini korumaya çalışıyorum. Uzun dosyalar, kuralların önemini kaybetmesine neden oluyor. Dosyayı olabildiğince kısa ve yönetilebilir tutmak, her bir kuralın dikkat çekmesini sağlıyor.
- Eklemeyi bir maliyet olarak görmek: Her yeni satır eklemek, diğer kuralların önemini azaltıyor. Bu yüzden yeni bir kural eklemeden önce, o kuralın gerçekten gerekli olup olmadığını sorguluyorum.
- Meta veriler eklemek: Dosyanın en üst kısmına, kimin sahibi olduğunu ve son gözden geçirme tarihini ekliyorum. Bu, altı ay sonra dosyaya bakacak olan gelecekteki benim için bir hatırlatma işlevi görüyor. Bu sayede, hangi kuralların eskidiğini veya artık geçerli olmadığını kolayca tespit edebiliyorum.
- Gerçek senaryoları test etmek: Önemli bir kuralın uygulanıp uygulanmadığından emin olmak için, yapay zeka aracına yeni bir oturum açtırıp hangi kuralların geçerli olduğunu sorgulatıyorum. Bu sayede, dosyada yazanlarla gerçekten uygulananlar arasındaki farkları görebiliyorum.
Bu değişiklikler, config dosyasına olan güvenimi restore etmiyor. Ancak onların ne kadar etkili olduğunu ölçmemi sağlıyor. Ve bu ölçüm, asıl önemli olan şeyin ne olduğunu gösteriyor: config dosyaları, onların uygulandığından emin olmak için sürekli olarak kontrol edilmeli.
Gelecekteki sizin için bir not
Config dosyaları, göründükleri kadar yüklü değildir. Uzunluk, sizi güvende hissettirir, ancak aynı zamanda en önemli kuralınızın etkisini de zayıflatır. Ve bu süreci fark etmek kolay değildir. Bir sonraki satırı eklemeden önce, son eklenen kuralın hâlâ işlevsel olup olmadığını kontrol edin.
Config dosyaları, yazdığınız ve ardından güveneceğiniz şeyler değildir. Onlar ancak en son kontrol edildiği kadar değerlidir. Benimki de düşündüğümden daha hafifti — ve bunu bana bir yabancıdan gelen red cevabı gösterdi.
Bu deneyim, config dosyalarının ne kadar dikkatli yönetilmesi gerektiğine dair önemli bir ders oldu. Uzun dosyalar yerine, kısa ve net kuralların yer aldığı yapılandırma dosyaları oluşturmak, hem geliştirme sürecini hem de otomatik araçların doğruluğunu artıracaktır. Unutmayın: bir config dosyası, onun uygulandığından emin olmak için sürekli olarak gözden geçirilmeli ve güncellenmelidir.
Yapay zeka özeti
Yapılandırma dosyalarına güvenmek projelerinizi riske atabilir. Uzun CLAUDE.md dosyaları ve sessizce ölen kurallar hakkında gerçekler ve çözüm önerileri.