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
Orta5 Adımlı Bug Avı
- Minimum repro: Hatayı tetikleyen en küçük örnek.
- Hipotezler: Claude'a 3-5 olası sebep çıkarttır.
- İzolasyon: Hangi hipotez doğru? Test yaz.
- Fix: Düzeltme + test (red → yeşil).
- 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...