MATERI 8 DARI 28
Membaca diff dan mengendalikan scope perubahan AI
Review diff untuk perubahan tidak diminta, authorization yang melemah, logging sensitif, dan penghapusan data.
Tujuan pembelajaran
- Membaca diff per file.
- Mengenali perubahan berisiko.
- Menolak generated code yang tidak dapat dijelaskan.
Konsep utama
Review semantik
Diff kecil belum tentu aman; periksa perubahan authorization dan default.
Change budget
Batasi jumlah file/baris agar review tetap manusiawi.
Alur kerja teknis
- Tulis tujuan dan acceptance criteria.
- Buat perubahan kecil yang dapat ditinjau.
- Jalankan test dan baca diff sebelum menerima hasil AI.
Contoh implementasi
Pemeriksaan diff sebelum commit
git diff --check
git diff --name-only
git diff -- app/ public/ resources/ tests/
# Cari pola berbahaya yang harus direview manual
git diff | grep -En "(chmod 777|verify_peer.?false|SELECT .*\$_|eval\()" || trueAspek keamanan
- Jangan mengandalkan grep sebagai pengganti review.
- Periksa file konfigurasi, migration, dan route authorization.
- Pastikan test baru tidak menghapus assertion penting.
Kesalahan umum
- Menerima kode AI tanpa membaca diff dan memahami alur data.
- Menguji hanya happy path dan mengabaikan input salah atau batas nilai.
- Menyimpan secret, token, atau data nyata di prompt dan source code.
Pengujian dan verifikasi
- Jalankan contoh dengan input normal.
- Ulangi dengan input kosong, tipe salah, dan nilai batas.
- Pastikan error tidak membocorkan secret atau detail internal.
Latihan
- Modifikasi contoh dengan satu kebutuhan baru dan tulis acceptance criteria-nya.
- Tambahkan satu negative test lalu jelaskan risiko yang dicegah.
Checklist
- Tujuan dan batas pekerjaan jelas.
- Input divalidasi di server.
- Secret tidak berada di source/prompt.
- Test lulus dan diff sudah dibaca.
Rangkuman
Review diff untuk perubahan tidak diminta, authorization yang melemah, logging sensitif, dan penghapusan data.