Review kode bukan hanya mencari typo atau format yang kurang rapi. Review yang baik mencari hal yang bisa merusak behavior: data yang salah, edge case yang terlewat, validasi yang kurang, query yang terlalu mahal, atau perubahan yang tidak sengaja melebar.
AI bisa membantu review kode, terutama untuk membaca diff panjang dan mencari pola risiko. Tapi kalau prompt-nya terlalu umum, hasilnya juga umum: "kode sudah cukup baik", "tambahkan error handling", "pertimbangkan validasi".
Supaya berguna, AI perlu diberi peran yang jelas: cari risiko, bukan memuji kode.
Kirim tujuan perubahan
Sebelum menempel diff, jelaskan dulu tujuan perubahan.
Contoh:
Perubahan ini menambahkan filter format artikel di dashboard admin.
Tujuan: admin bisa melihat artikel Praktis, Standar, Pilar, dan Checklist.
Batasan: tidak boleh mengubah schema database.
Tanpa tujuan, AI hanya melihat kode. Dengan tujuan, AI bisa menilai apakah kode benar-benar menyelesaikan masalah.
Minta temuan, bukan ringkasan
Untuk review kode, hindari prompt seperti:
Tolong review kode ini.
Gunakan prompt yang lebih tajam:
Tolong review diff ini seperti code reviewer.
Fokus pada:
- bug yang mungkin terjadi
- perubahan behavior yang tidak disengaja
- edge case
- risiko keamanan
- test yang kurang
Jangan beri komentar style kecuali style itu bisa menyebabkan bug.
Urutkan temuan dari risiko tertinggi.
Prompt ini membuat AI lebih dekat ke cara review teknis yang serius.
Minta bukti dari kode
Komentar review yang baik harus menunjuk bagian kode yang bermasalah.
Tambahkan instruksi:
Untuk setiap temuan, sebutkan bagian kode yang menjadi dasar temuan itu.
Kalau hanya dugaan lemah, tandai sebagai asumsi.
Ini penting karena AI bisa terlalu percaya diri. Dengan meminta bukti, kamu memaksa jawabannya lebih disiplin.
Review data flow
Banyak bug terjadi bukan di satu baris kode, tapi di aliran data.
Minta AI membaca:
- data masuk dari mana
- validasi terjadi di mana
- data dikirim ke mana
- side effect apa yang terjadi
- siapa yang punya akses
Prompt:
Tolong jelaskan data flow dari input sampai output.
Cari titik yang rawan undefined, data kosong, race condition, atau permission issue.
Untuk aplikasi web, ini sering lebih berguna daripada sekadar mencari typo.
Review perubahan query
Kalau diff menyentuh database, review harus lebih hati-hati.
Cek:
- apakah filter baru mengubah hasil lama?
- apakah relasi yang dibutuhkan sudah di-include?
- apakah query bisa menjadi berat?
- apakah ada kondisi OR/AND yang saling menimpa?
- apakah data kosong ditangani?
Prompt:
Bagian ini mengubah query database.
Tolong cek apakah kombinasi filter bisa saling bertabrakan.
Perhatikan OR, AND, relasi, dan fallback saat parameter kosong.
AI cukup membantu untuk membaca logika query yang mulai bercabang.
Review UI state
Untuk komponen UI, minta AI mencari state yang belum ditangani.
Misalnya:
- loading
- empty state
- error state
- text panjang
- mobile layout
- data null
- tombol disabled
- submit ganda
Prompt:
Tolong review komponen ini dari sisi state UI.
Cari state kosong, loading, error, data panjang, dan mobile layout yang mungkin rusak.
Ini cocok untuk halaman admin, form, dashboard, dan halaman artikel.
Minta test yang perlu ditambahkan
Setelah review, minta AI menyusun test atau checklist.
Berdasarkan risiko di atas, test apa yang paling penting?
Pisahkan:
- wajib
- bagus kalau ada
- bisa dicek manual
Tidak semua review harus berakhir dengan test otomatis. Tapi setidaknya ada cara mengecek.
Template prompt review kode
Gunakan template ini:
Kamu bertindak sebagai code reviewer.
Konteks perubahan:
[jelaskan fitur/bug]
Batasan:
[contoh: jangan ubah schema, jangan tambah dependency]
Diff/kode:
[tempel kode]
Tolong beri:
1. Temuan bug atau risiko, urut dari paling serius.
2. Bukti dari kode untuk tiap temuan.
3. Saran fix paling kecil.
4. Test/checklist yang perlu dilakukan.
Jangan fokus ke style kecuali berdampak ke behavior.
Kesimpulan
AI bisa mempercepat review kode kalau diarahkan untuk mencari risiko. Jangan minta "review" secara umum. Beri konteks perubahan, minta bukti dari kode, dan minta test yang relevan.
Dengan begitu, AI menjadi lapisan pengecekan tambahan sebelum merge, bukan pengganti review manusia.