Review Kode dengan AI
Jadikan AI reviewer pribadimu: checklist review, sudut pandang berbeda, dan cara meminta review yang tajam.
AI sebagai Reviewer: Kekuatan dan Batasan
Setiap programmer butuh reviewer: mata kedua yang menangkap bug, bau kode, dan keputusan aneh sebelum kode sampai ke user. Masalahnya, tidak semua orang punya rekan yang bisa me-review. AI mengisi celah ini dengan sangat baik: ia tidak lelah, tidak sungkan mengkritik, dan bisa memeriksa dari banyak sudut pandang sekaligus. Tapi ingat batasannya: AI me-review pola, bukan maksud. Ia tidak tahu kenapa kamu memilih pendekatan A atas B dari sisi bisnis. Jadi posisikan AI sebagai reviewer pertama yang teliti, bukan reviewer terakhir yang memutuskan.
Contoh 1: Meminta Review yang Tajam (Langkah Bertahap)
Review yang buruk: "tolong review kode ini" (hasilnya pujian umum + saran generik). Review yang tajam butuh struktur:
Review kode berikut sebagai senior engineer yang galak tapi adil. Kode: [paste, maksimal 100 baris] Konteks: fungsi ini menghitung total belanja, dipakai di halaman checkout, harus tahan input aneh dari user.
Periksa dari 4 sudut:
- Kebenaran: ada logika yang salah? Edge case yang gagal?
- Keamanan: ada celah input yang bisa disalahgunakan?
- Keterbacaan: ada bagian yang membingungkan pembaca baru?
- Performa: ada yang boros dan bisa disederhanakan?
Format: daftar temuan, tiap temuan beri level (kritis/saran) dan nomor baris. Jangan tulis ulang kodenya, cukup tunjuk masalahnya.
Kenapa "jangan tulis ulang kodenya"? Karena kalau AI langsung menulis ulang, kamu tergoda menerima tanpa memahami temuannya. Dengan hanya daftar temuan, kamu dipaksa memahami masalahnya dulu, lalu kamu yang memutuskan perbaikannya. Ini menjaga kamu tetap sebagai pemilik keputusan.
Contoh 2: Review Bertahap untuk Perubahan Besar
Untuk pull request atau perubahan ratusan baris, jangan minta review sekaligus (AI akan dangkal). Pecah:
Putaran 1, arsitektur: "Abaikan detail kecil. Fokus: apakah struktur/perpecahan fungsinya masuk akal? Ada yang seharusnya jadi fungsi terpisah?" Putaran 2, logika: "Sekarang fokus ke kebenaran logika per fungsi. Untuk tiap fungsi, tulis 1 kalimat apa yang ia lakukan menurutmu, lalu tandai kalau ada yang janggal." Putaran 3, detail: "Sekarang cek detail: nama variabel, duplikasi, potensi null/undefined, dan konsistensi gaya."
Tiap putaran menghasilkan temuan yang berbeda. Putaran 2 punya trik khusus: meminta AI menulis ulang "apa yang ia pahami" dari kodemu adalah tes keterbacaan otomatis. Kalau pemahamannya meleset dari maksudmu, kodenya memang membingungkan dan perlu diperjelas, terlepas dari benar atau salah.
Catatan teknis: Kualitas review AI sangat tergantung pada konteks yang kamu beri. Review tanpa konteks ("ini kode checkout") vs dengan konteks ("dipakai 10x/detik saat flash sale, input dari user tidak tepercaya") menghasilkan kedalaman yang beda jauh. Selalu sertakan: tujuan kode, siapa pemakainya, batasan performa/keamanan, dan bagian mana yang paling kamu ragukan ("aku paling tidak yakin dengan fungsi X, perhatikan itu"). Mengarahkan perhatian reviewer (manusia maupun AI) ke titik ragu adalah praktik review profesional.
Kesalahan Umum
- Minta review tanpa konteks. AI me-review dalam vakum dan memberi saran generik yang kadang tidak cocok dengan kebutuhanmu. Konteks 3 kalimat mengubah kualitas review drastis.
- Menerima semua saran. Tidak semua temuan AI valid; kadang ia "menemukan masalah" yang sebenarnya bukan masalah (false positive). Kamu yang memutuskan mana yang ditindaklanjuti. Aturan: kalau kamu tidak setuju dengan temuan, minta AI menjelaskan alasannya lebih dalam sebelum menolak.
- Hanya review kode AI, tidak review kode sendiri. Kebiasaan terbaik: minta AI review KODE YANG KAMU TULIS SENDIRI juga. Ini melatihmu melihat kode dari sudut pandang orang lain.
- Tidak memberi tahu keputusan akhir. Setelah review, beri tahu AI: "temuan nomor 2 dan 4 aku perbaiki, nomor 3 aku abaikan karena [alasan]." Ini melatih AI memahami preferensimu untuk review berikutnya (dan melatihmu berargumen tentang kode).
Rangkuman
AI adalah reviewer pertama yang teliti dan tidak kenal lelah, tapi kamu tetap pengambil keputusan terakhir. Minta review terstruktur (4 sudut: kebenaran, keamanan, keterbacaan, performa), pisahkan temuan dari perbaikan, dan untuk perubahan besar lakukan bertahap (arsitektur > logika > detail). Review yang baik tidak cuma menangkap bug, tapi membuatmu programmer yang lebih baik.
Tantangan
Minta Review Berlapis
Ambil satu fungsi kompleks dari kodemu (atau dari contoh di track ini). Minta AI mereview 3 kali dengan sudut berbeda: keamanan, performa, keterbacaan. Kumpulkan temuannya dalam satu daftar. Berapa temuan yang benar-benar valid setelah kamu cek manual?