Claude Code ile İyi Sonuçlar Elde Etmek
(dzombak.com)- Son birkaç ayda çeşitli LLM programlama ajanları denendiğinde, Claude Code en tatmin edici araç oldu
- Claude Code sayesinde kısa sürede yaklaşık 12 program ve proje geliştirildi; normalde zaman kısıtı nedeniyle başlanmayacak işler bile mümkün hale geldi
- Başarılı kullanım için net bir şartname hazırlamak, proje yapısı, build ve lint çalıştırma yöntemlerini içeren dokümantasyon sağlamak, yapay zekadan kendi kodunu gözden geçirmesini istemek ve kişiselleştirilmiş bir global ajan rehberi kullanmak kritik önemde
- Yapay zekanın yazdığı kod sık sık hatalı veya verimsiz olabileceğinden, tüm kod ve test vakaları mutlaka elle gözden geçiriliyor; eksik testler doğrudan ekleniyor ya da yapay zekaya yazdırılıp tekrar inceleniyor
- Ek olarak paylaşılan global ajan rehberi; adım adım uygulama planı, test odaklı geliştirme, sadelik-açıklık-pratiklik merkezli bir yaklaşım, kalite kriterleri ve problem çözme süreci gibi ayrıntılı geliştirme yönergeleri içeriyor
Claude Code kullanım deneyimi ve etkisi
- Son birkaç ay boyunca çeşitli LLM programlama ajanları denendi ve özellikle Claude Code ile deneyim en başarılısı oldu
- Tamamen sorunsuz olmasa da, kısa sürede 12'den fazla program ve proje tamamlanabildi
- Claude Code olmadan aynı dönemde tüm bu işleri yapmak neredeyse imkânsız olurdu
- Bu çalışmaların çoğu, zaman maliyeti nedeniyle normalde hiç başlanmayacak projelerdi
Claude Code kullanım stratejileri
- Net bir şartname hazırlamak
- Projeye başlamadan önce gereksinimler ve bağlam açık biçimde belgelenip ajana veriliyor
- Böylece kod yazımının yönü ve kapsamı netleşiyor
- Proje yapısını dokümante etmek
- Build, lint ve test çalıştırma yöntemlerini içeren bir belge hazırlanıyor
- Böylece ajan kod tabanını daha etkili biçimde keşfedip çalışabiliyor
- Ajandan kod incelemesi istemek
- Claude Code'dan ürettiği kodu bizzat gözden geçirmesi istenerek beklenmedik iyileştirmeler veya hatalar bulunabiliyor
- Kişisel global rehber kullanmak
- Problem çözme yaklaşımı, TDD uygulaması, sadelik ve açıklığı koruma, deneme sayısı sınırı (3 kez) gibi kişisel kuralları içeren
~/.claude/CLAUDE.mdile tutarlı bir geliştirme süreci korunuyor
- Problem çözme yaklaşımı, TDD uygulaması, sadelik ve açıklığı koruma, deneme sayısı sınırı (3 kez) gibi kişisel kuralları içeren
LLM tarafından yazılan kodun doğrulanması
- Yapay zeka tarafından üretilen kodlarda sık sık mantık hataları, performans düşüşü ve eksik testler gibi problemler olabiliyor
- Yazar tüm kodu manuel olarak gözden geçiriyor ve çalışmasını doğruluyor
- Eksik test vakalarını doğrudan ekliyor
- Ya da yapay zekadan yazmasını isteyip kodu ve testleri yeniden inceliyor
- Profesyonel ortamda, PR üzerinde kendi adı yer aldığı sürece nihai kalite sorumluluğunun kendisine ait olduğunu özellikle vurguluyor
Kişisel “global” ajan rehberinin ana içeriği
Bu rehber ~/.claude/CLAUDE.md dosyasında yönetiliyor
-
Felsefe ve temel ilkeler
- Kademeli ilerleme: Küçük değişikliklerle ilerlemek, derleme ve testlerin her zaman geçmesi
- Mevcut kodu öğrenmek: Uygulamadan önce kod kalıplarını analiz etmek ve plan oluşturmak
- Pratikliği öncelemek: Projenin durumuna uygun esnek yaklaşım
- Açıklığı öncelemek: Okuması kolay, niyeti açık kod; gereksiz numaralardan kaçınmak
-
Sadelik tanımı
- Fonksiyonlar ve sınıflar tek bir sorumluluğa sahip olmalı
- Erken soyutlamadan kaçınılmalı
- Karmaşıklık azaltılmalı ve açıklama gerektirmeyen kod hedeflenmeli
-
Çalışma süreci
- 1. Planlama ve aşamaları belirleme:
- Karmaşık işler 3 ila 5 adıma bölünüp
IMPLEMENTATION_PLAN.mdiçine yazılıyor - Her aşama için hedef, başarı kriteri, test vakaları ve ilerleme durumu belirtiliyor
- Karmaşık işler 3 ila 5 adıma bölünüp
- 2. Uygulama akışı:
- Anlama → test yazma (kırmızı) → minimum uygulama (yeşil) → refactor → commit
- 3. 3 deneme sınırı sonrası yeniden değerlendirme:
- Başarısızlık durumunda deneme geçmişi, hatalar ve nedenler kaydediliyor
- Alternatifler araştırılıyor (2-3 yaklaşım)
- Temel tasarım ve problemin parçalanması yeniden gözden geçiriliyor
- Farklı kalıplar veya özellikler deneniyor
- 1. Planlama ve aşamaları belirleme:
-
Teknik standartlar
- Composition öncelikli, dependency injection kullanımı
- Arayüz kullanımı, test edilebilirliğin sağlanması
- Açık veri akışı
- TDD öneriliyor, testlerin devre dışı bırakılması yasak
-
Kod kalitesi kuralları
- Her commit derlenmeli, testleri geçmeli, yeni özellik testlerini içermeli ve kod stiline uymalı
- Commit öncesi formatter ve linter çalıştırılmalı, değişiklikler self-review'dan geçirilmeli ve commit mesajı "neden"i açıklamalı
-
Hata işleme
- Hızlı başarısızlık ve spesifik mesajlar
- Debug için gerekli bağlamın sağlanması
- İstisnaların uygun seviyede ele alınması, istisnaların gizlenmemesi
-
Karar verme ölçütleri
- 1. Test edilebilirlik
- 2. 6 ay sonra da anlaşılabilir okunabilirlik
- 3. Proje kalıplarıyla tutarlılık
- 4. Sadelik
- 5. Değişikliğe açıklık
-
Proje entegrasyonu
- Benzer 3'ten fazla özelliğin analiz edilmesi
- Mevcut kalıpların ve kütüphanelerin yeniden kullanılması
- Aynı test yardımcı araçlarının kullanılması
- Yeni araçların devreye alınması için güçlü gerekçe gerekmesi
-
Kalite kapıları
- Tüm testler geçmeli
- Proje kurallarına uyulmalı
- Linter uyarısı olmamalı
- Commit mesajı açık olmalı
- Uygulama planla uyumlu olmalı
- TODO içinde issue numarası bulunmalı
-
Test yönergeleri
- Uygulamaya değil davranışa odaklanan testler
- Mümkünse test başına tek bir assertion
- Senaryoyu açıklayan net isimler
- Mevcut test yardımcılarının yeniden kullanılması
- Testler deterministik olmalı
-
Kesinlikle yasak
--no-verifyile hook'ları atlamak- Testleri devre dışı bırakmak
- Derlenmeyen kodu commit etmek
- Doğrulama olmadan tahminde bulunmak
-
Mutlaka yapılmalı
- Kademeli commit'ler
- Dokümantasyonun sürekli güncellenmesi
- Mevcut uygulamadan öğrenilmesi
- 3 başarısızlıktan sonra yaklaşımın yeniden değerlendirilmesi
Claude Code ile geliştirilen açık kaynak projeler
- HTML/XML tanıyan reverse proxy (cdzombak/xrp)
- VS Code Solarized teması (açık/koyu) (cdzombak/dzsolarized-vscode)
- Flickr photostream RSS üreticisi (cdzombak/flickr-rss)
- Lychee fotoğraf kütüphanesi metadata aracı (cdzombak/lychee-meta-tool)
- macOS ekran kilidi durumu için MQTT raporlama (cdzombak/macos-screenlock-mqtt)
- Lychee Bird Buddy fotoğraf başlıklarını otomatik ayarlama (cdzombak/lychee-birb-title)
- Yerel LLM tabanlı otomatik fotoğraf sınıflandırma (cdzombak/lychee-ai-organizer)
- macOS için toplu yazılım kurulum otomasyonu (cdzombak/mac-install)
- RSS servis projesi (cdzombak/rss.church)
- Flickr fotoğraflarını tam/seçmeli dışa aktarma ve metadata koruma (cdzombak/flickr-exporter)
- Statik HTML galeri üreticisi (cdzombak/gallerygen)
Henüz yorum yok.