Modül 2 · Getting Hands On · ⏱ 12 dakika

Değişiklik yapmak

Making changes

Bu derste neler öğreneceksin

  • Claude'un Edit/Write tool'unu nasıl önerdiğini ve diff onayının nasıl çalıştığını anlamak
  • Küçük adım vs büyük adım promptlamasının pratik farkı
  • Yanlış giden bir değişikliği geri almak ve yön düzeltmek

Bu derste artık projende gerçek değişiklikler yaptırıyorsun. Önemli: küçük adımlarla başla, her diff’i oku, onay vermeden önce düşün.

1. Edit vs Write

Claude iki yolla dosyaya yazar:

ToolNe zaman
EditMevcut dosyaya küçük değişiklik (find + replace mantığı)
WriteYeni dosya veya tamamen yeniden yazma

Edit’in old/new gösteriminde diff’i renkli görürsün. Write’ta tüm yeni içeriği görürsün.

2. İlk değişiklik — küçük başla

@src/utils/logger.ts içinde `console.log` çağrılarını
`logger.info` ile değiştir. Test dosyalarına dokunma.

Claude muhtemelen şunu yapar:

  1. Read src/utils/logger.ts
  2. Edit tool çağrısı önerir — sen onaylarsın
  3. Diff’i görür, onaylar veya reddedersin

3. Permission mode

İlk başlattığında Claude her tool’a izin ister. Bu konservatif moddur. /permissions ile esnetebilirsin:

ModeDavranış
defaultHer shell ve write işleminde sor
acceptEditsEdit/Write otomatik onay; Bash hâlâ sorulur
bypassPermissionsHer şey otomatik (riskli — sadece izolasyonlu ortamda)

Yeniyken default veya acceptEdits arasında kal; production repo’da asla bypassPermissions açma.

4. Büyük değişiklikleri parçala

Yanlış:

Tüm REST API'yi GraphQL'e çevir.

Doğru:

Önce sadece /users endpoint'ini GraphQL query'sine çevir.
Resolver'ı services/users.ts'i çağırsın. Mevcut REST endpoint'ini koru.

Küçük adımlar:

  • Daha kolay review edilir
  • Hata bulunduğunda geri almak kolay
  • Claude’un context’i temiz kalır

5. Yön düzeltme

Bir adım kötü gittiyse:

Az önceki Edit'i geri al. logger.info yerine logger.debug
kullanılmasını istiyorum.

Claude diff’i tersine çevirip yeni yamayı önerir. Daha radikal geri alma için git kullan:

git diff           # ne değişti?
git checkout -- file.ts   # belirli dosyayı eski haline al
git stash          # geçici olarak kenara koy

6. Doğrulama

Değişiklikten sonra mutlaka test çalıştır (veya Claude’a çalıştırt):

Şimdi testleri çalıştır. Kırılan varsa nedenini söyle ve düzelt.

Test yoksa manuel doğrulama komutunu (build, lint, dev server) çalıştır:

npm run lint && npm run build çalıştır, sonuçları paylaş.

Özet

  • Edit/Write farkını gör, her diff’i oku
  • /permissions ile onay seviyesini ayarla
  • Büyük işleri küçük adımlara böl
  • Yön düzeltme için Claude + git birlikte
  • Her adımdan sonra doğrula

Sırada ne var?

Modül 3’e geçiyoruz: context’i kontrol etmek. Custom commands, MCP, GitHub — Claude’a daha fazla bilgi vermeden daha verimli çalıştırmanın yolları.