İçeriğe geç

Bug Avı: Stack Trace'ten Çözüme

Bir hatayı Claude'la sistematik bulmanın akışı: minimum repro, hipotez, izolasyon, fix, regresyon testi.

Şükrü Yusuf KAYA
11 dakikalık okuma
Orta
Bug avı akışı: stack trace → minrepro → hipotez → fix → regresyon

5 Adımlı Bug Avı

  1. Minimum repro: Hatayı tetikleyen en küçük örnek.
  2. Hipotezler: Claude'a 3-5 olası sebep çıkarttır.
  3. İzolasyon: Hangi hipotez doğru? Test yaz.
  4. Fix: Düzeltme + test (red → yeşil).
  5. Regresyon testi: Hatayı koruyacak test eve gir.
text
<role>Sen kıdemli bir Python debugger'sın.</role>
 
<minrepro>
```python
{{minimum_repro}}
```
</minrepro>
 
<stack_trace>
{{traceback}}
</stack_trace>
 
<environment>
Python 3.12, pandas 2.2.0, numpy 1.26
</environment>
 
<task>
1. Olası 3-5 sebebi listele.
2. Her sebep için bir test üret (failing).
3. En olasıyı işaretle ve neden onu seçtiğini açıkla.
4. Fix öner.
5. Regresyon testi yaz.
</task>
Bug avı prompt'u — yapılandırılmış teşhis için.
python
# Klasik off-by-one örneği — Claude'la nasıl avlanır?
def slice_last_n(seq, n):
# bug: list[-0:] tüm liste döner!
return seq[-n:]
 
print(slice_last_n([1,2,3,4,5], 2)) # beklenen [4,5] → ✓
print(slice_last_n([1,2,3,4,5], 0)) # beklenen [] → bug, [1..5] dönüyor
 
Çalıştır → ikinci satır 'beklenen [] ama olan tüm liste' hatasını canlı gör.
python · diff modu
Senin kodun
Hedefe karşı diff
def slice_last_n(seq, n):
+ if n <= 0:
+ return []
return seq[-n:]
Tek satırlık fix — n=0 edge case'i için açık koruma.
Boşluk doldur · text
Bug avının ilk adımı _____ repro üretmektir. Hipotez sayısını _____ ile _____ arasında tut. Hatayı koruyacak test _____ testidir.

Sık Sorulan Sorular

PII (kişisel veri) yoksa evet. Varsa hash / mask uygula. Anthropic Enterprise kullanıyorsan veri politikan zaten korumalı, ama yine de gereksiz veriyi göndermeme prensibi geçerli.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

İlgili İçerikler