Lewati ke konten utama

F3 · Modul 12

Editor, debugging, dan membaca galat

38 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Galat dibaca dari baris terakhir (jenis dan pesan) lalu bingkai terdalam (berkas dan baris); galat berantai dibaca sampai penyebab aslinya.
  • Debugging adalah metode, bukan tebakan: reproduksi dengan perintah tetap, perkecil, uji satu hipotesis, perbaiki, lalu kunci dengan tes.
  • pdb menghentikan program untuk dilihat isinya; logging meninggalkan jejak yang bisa diatur levelnya tanpa mengotori stdout.
  • git bisect adalah pencarian biner di riwayat: 1.000 commit cukup ±10 uji untuk menemukan commit pertama yang merusak.
  • Bantuan AI paling berguna bila diberi traceback utuh dan contoh kecil yang bisa diulang, dan hasilnya selalu dibuktikan dengan tes.

Sebelum mulai

±4 jam.

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: membaca traceback Python sampai bingkai terdalam, termasuk galat berantai; membaca pesan galat shell dan Git beserta kode keluarnya; men-debug dengan metode (reproduksi, perkecil, hipotesis, uji, perbaiki, tes regresi) dan memperkecil masukan secara otomatis (delta debugging); memakai pdb (breakpoint(), python3 -m pdb, p, n, s, c, b, w, post-mortem); mengganti print dengan logging (level, stderr, tanpa rahasia); menemukan commit yang merusak dengan git bisect dan menulis bisect sendiri sebagai pencarian biner; menelusuri asal sebuah baris dengan git blame dan git log -S; memakai debugger dan LSP di editor; dan meminta bantuan AI untuk debugging tanpa menyerahkan penilaian.

Proyek: Perkakas Makmur langkah 12: bisect(commit_urut, rusak) di minigit.py dan satu regresi di repo perkakas yang ditemukan dengan git bisect run (kontrak proyek).

Istilah di modul ini (32)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 13 contoh kode
  • 8 berkas latihan + tes
Lihat isi zip
  • BACA-DULU.txt
  • patok-git.sh
  • contoh_f3_12_106.py
  • contoh_f3_12_548.py
  • contoh_f3_12_570.py
  • contoh_f3_12_825.py
  • contoh_f3_12_845.py
  • contoh_f3_12_866.py
  • contoh_f3_12_896.py
  • contoh_f3_12_1668.py
  • contoh_f3_12_1703.py
  • contoh_f3_12_1732.py
  • contoh_f3_12_1764.py
  • contoh_f3_12_1802.py
  • contoh_f3_12_1825.py
  • test_f3_12_1.py
  • test_f3_12_2.py
  • test_f3_12_6.py
  • test_f3_12_7.py
  • test_f3_12_3.py
  • test_f3_12_4.py
  • test_f3_12_5.py
  • test_f3_12_8.py