Hata Ayıklama: Programdaki Böceği Bul

Program beklediğiniz gibi çalışmıyor mu? Hataların türlerini, adım adım izleme yöntemini ve sorunu sistemli biçimde bulup düzeltmeyi öğrenin.

Hata Ayıklama: Programdaki Böceği Bul

"Bug" nereden geliyor?

Programdaki hatalara İngilizcede bug (böcek) denir. Hataları bulup düzeltme işine de hata ayıklama (debug) adı verilir. Her programcı hata yapar; iyi programcıyı ayıran, hatayı hızlı ve sistemli biçimde bulabilmesidir.

Hata türleri

  • Yazım hatası: Komut yanlış yazılmıştır, program hiç çalışmaz. Metin tabanlı dillerde eksik parantez veya noktalı virgül buna örnektir.
  • Mantık hatası: Program çalışır ama yanlış sonuç verir. Örneğin puanı artırmak yerine azaltan bir komut.
  • Sıralama hatası: Komutlar doğru ama sırası yanlıştır. Kuklayı hareket ettirdikten sonra başlangıç noktasına götürmek gibi.

Sistemli hata ayıklama adımları

  1. Hatayı tekrarla: Sorun hangi durumda ortaya çıkıyor? Her seferinde mi, bazen mi?
  2. Beklenen ile olanı karşılaştır: Ne olmasını bekliyordum, ne oldu?
  3. Alanı daralt: Kodun parçalarını tek tek çalıştırarak sorunlu bölümü bul.
  4. Değişkenleri izle: Scratch'te değişkenleri sahnede göstererek değerlerin nasıl değiştiğini takip et.
  5. Tek bir değişiklik yap ve test et: Aynı anda birçok şeyi değiştirirsen neyin işe yaradığını anlayamazsın.

Örnek hata

yeşil bayrağa tıklandığında
    sürekli tekrarla
        10 adım git
    puan değişkenini 0 yap

Puan hiç sıfırlanmıyor. Neden? Çünkü sürekli tekrarla hiç bitmediği için altındaki komuta asla sıra gelmez. Çözüm: sıfırlama komutunu döngünün üstüne taşımak.

Lastik ördek yöntemi

Kodunuzu satır satır, masanızdaki bir oyuncağa anlatıyormuş gibi yüksek sesle açıklayın. Anlatırken hatayı çoğu zaman kendiniz fark edersiniz. Bir arkadaşınıza anlatmak da aynı işe yarar.

Konuyu pekiştir

3 soruluk kısa test. Bir seçeneğe dokunduğunuzda doğru cevap ve açıklaması görünür.

0 / 3 cevaplandı
  1. Program çalışıyor ama yanlış sonuç veriyorsa bu hangi hata türüdür?

  2. "sürekli tekrarla" bloğunun altındaki komut neden hiç çalışmaz?

  3. Hata ayıklarken neden aynı anda tek bir değişiklik yapılmalıdır?

Aynı dersten diğer konular

Tüm konular
3. hafta CB.6.1.3

Yapay Zekâ Nasıl Öğrenir?

Telefonunuz yüzünüzü nasıl tanıyor? Yapay zekânın örneklerden öğrenmesini, günlük hayattaki kullanımlarını ve…