Minggu 04 — Git, Debugging, dan Code Review
Mengamankan pekerjaan dengan Git, membaca error, dan memeriksa perubahan AI.
Git: mesin waktu untuk kode
Git menyimpan riwayat perubahan sehingga kamu bisa kembali ke versi yang berfungsi. Ini sangat penting saat AI mengubah banyak file sekaligus.
git init # mulai repository
git status # lihat apa yang berubah
git add . # siapkan semua perubahan
git commit -m "Tambah fitur hapus tugas" # simpan sebagai satu titik riwayat
git branch fitur-login # buat cabang
git switch fitur-login # pindah ke cabang itu
git merge fitur-login # gabungkan ke cabang aktif
Kebiasaan emas: commit sebelum meminta AI mengubah sesuatu yang besar. Kalau hasilnya kacau, kembali dengan git restore . atau git reset --hard.
Membaca error
TypeError: Cannot read properties of undefined (reading 'nama')
at tampil (app.js:12:20)
at main (app.js:30:3)
- Jenis error (
TypeError) dan pesan memberi tahu apa yang salah. - Stack trace (daftar
at ...) memberi tahu lokasi: fileapp.jsbaris 12. - Log (
console.log) membantu melihat nilai saat program berjalan.
Debugging dua tahap bersama AI
- Analisis dulu: tempel error + kode terkait, lalu minta "jelaskan akar masalahnya, jangan ubah kode dulu".
- Setelah kamu setuju: baru minta perbaikan yang minimal.
Cara ini mencegah AI menambal gejala atau menulis ulang hal yang tidak rusak.
Memeriksa diff
Setelah AI mengubah kode, jalankan git diff. Periksa: apakah hanya file yang diminta yang berubah? Adakah baris yang dihapus tanpa alasan? Adakah dependency baru? Tolak perubahan yang tidak diminta.
Unit test dan edge case
Unit test adalah kode kecil yang memeriksa satu function. Edge case adalah kasus tepi: input kosong, nol, angka negatif, teks sangat panjang. Bug yang sudah diperbaiki sebaiknya dikunci dengan satu test agar tidak kembali.
function assertEqual(actual, expected, nama) {
console.log((actual === expected ? 'LULUS' : 'GAGAL') + ': ' + nama);
}
assertEqual(rataRata([2, 4]), 3, 'rata-rata dua angka');
Praktik minggu ini
Perbaiki aplikasi yang sengaja diberi bug, lalu buat test untuk mencegah bug muncul kembali. Target: repository Git dengan commit, test, dan catatan debugging.