Debugging Checklist — Debugging

Debugging Checklist Checklist sistematis yang bisa kamu ikuti setiap kali menemui bug. Simpan halaman ini sebagai referensi! Step 1: Reproduksi Bug Bisa kamu re

Debugging Checklist

Checklist sistematis yang bisa kamu ikuti setiap kali menemui bug. Simpan halaman ini sebagai referensi!

Step 1: Reproduksi Bug

Contoh bug report yang baik:
1. Buka halaman /profile
2. Klik "Edit Profile"
3. Kosongkan field "Nama"
4. Klik "Simpan"
→ Expected: Tampilkan pesan validasi
→ Actual: TypeError di console, tombol disabled permanent

Step 2: Baca Error Message

Step 3: Cek Network

Step 4: Inspeksi State

Step 5: Isolasi Masalah

Step 6: Cek Hal-hal Umum

JavaScript

CSS

API

Step 7: Gunakan Tools

// Quick debug dengan console
console.log({variabel});          // lihat nama + nilai
console.table(arrayData);         // tabel untuk array
console.trace("dari mana?");      // lihat call stack
console.time("label"); /*...*/ console.timeEnd("label"); // ukur waktu

// Breakpoint
debugger;  // pause di baris ini

// Conditional check
console.assert(kondisi, "Pesan jika false", {data});

Step 8: Cari di Internet

Jika masih stuck:

Step 9: Minta Bantuan

Jika sudah coba semua:

  1. Jelaskan apa yang ingin dicapai
  2. Jelaskan apa yang terjadi (error message, behavior)
  3. Jelaskan apa yang sudah dicoba
  4. Sertakan kode minimal yang mereproduksi masalah
  5. Sertakan screenshot Console/Network jika relevant

Debugging Decision Tree

Bug ditemukan
├── Ada error di Console?
│   ├── Ya → Baca error message → cek lokasi di kode
│   └── Tidak → Cek Network tab → API bermasalah?
│       ├── Ya → Debug API (status code, request, response)
│       └── Tidak → Debug logic/UI
│           ├── Data benar tapi UI salah → CSS/rendering issue
│           └── Data salah → Trace alur data dari sumber
└── Bug intermittent (kadang muncul)?
    ├── Race condition → cek async/await, loading state
    ├── Memory leak → cek cleanup useEffect
    └── Cache issue → hard refresh (Ctrl+Shift+R)

Tips

  1. Jangan debugging lebih dari 30 menit tanpa break — otak butuh istirahat
  2. Git stash/branch sebelum eksperimen — agar bisa kembali ke state awal
  3. Tulis test setelah fix bug — pastikan bug tidak kembali
  4. Dokumentasikan bug yang sulit — membantu diri sendiri dan tim di masa depan
  5. Setiap bug adalah pelajaran — catat apa yang dipelajari

Yang akan kamu pelajari