F3 · Modul 12
Editor, debugging, dan membaca galat
38 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
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.
pdbmenghentikan program untuk dilihat isinya;loggingmeninggalkan jejak yang bisa diatur levelnya tanpa mengotori stdout.git bisectadalah 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.
- F1 · Modul 09 · Galat dan debuggingYang dipakai: dasar traceback,
try/except,breakpoint() - Modul 03 · Teks, pipa, dan pengalihanYang dipakai: stderr, kode keluar
- Modul 06 · Skrip shellYang dipakai:
mktemp,trap - Modul 10 · Git: cabang dan penggabunganYang dipakai: riwayat dan cabang
- K1 · Modul 09 · Pencarian biner dan dua penunjuk
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