Code Review SOP¶
Panduan untuk reviewer dan author agar review konsisten dan efektif.
Tujuan Review¶
- Cegah bug masuk ke
develop/main - Pastikan kode mudah dipahami tim lain
- Berbagi pengetahuan antar anggota tim
Alur Review¶
- Author push branch
feature/nama-fitur. - Geser tiket ke kolom Need Review di board.
- Reviewer ambil tiket, checkout branch, dan lakukan review.
- Jika ada catatan → tinggalkan komentar di tiket / chat, geser kembali ke Plan / Todo.
- Jika oke → geser tiket ke Done, author merge ke
develop.
Status Review¶
| Status | Artinya |
|---|---|
| Need Review | Menunggu reviewer |
| Plan / Todo | Ada catatan, author perlu revisi |
| Done | Reviewer oke, sudah di-merge |
Tanggung Jawab Author¶
Sebelum geser tiket ke Need Review, pastikan:
- [ ] Deskripsi tiket sudah menjelaskan apa yang berubah dan kenapa
- [ ] Semua test lokal hijau
- [ ] Tidak ada file tidak relevan ter-commit (
.env,node_modules, log) - [ ] Branch sudah di-rebase / sync dengan
developterbaru - [ ] Self-review sudah dilakukan (baca diff sendiri sebelum minta review)
Tanggung Jawab Reviewer¶
Yang Harus Dicek¶
Correctness
- [ ] Logic sudah benar dan tidak ada edge case yang terlewat
- [ ] Tidak ada N+1 query (gunakan
with()/ eager loading) - [ ] Validasi input ada di controller / form request
Security
- [ ] Tidak ada data sensitif di log atau response
- [ ] Input user selalu divalidasi sebelum diproses
- [ ] Akses resource dicek via policy / middleware
Code Quality
- [ ] Nama variabel / method deskriptif dan konsisten
- [ ] Tidak ada dead code atau commented-out code
- [ ] Tidak ada logic duplikat yang bisa di-extract
Database
- [ ] Migration punya
down()yang benar - [ ] Index sudah dipertimbangkan untuk kolom yang sering di-query
- [ ] Tidak rename kolom tanpa cek dependency
Testing
- [ ] Ada test untuk fungsionalitas baru
- [ ] Test tidak bergantung pada data hardcoded dari DB production
Yang Tidak Perlu Diperdebatkan¶
- Preferensi style yang tidak mempengaruhi fungsionalitas → skip atau beri komentar opsional
- Sesuaikan standar dengan konvensi yang sudah ada di repo, bukan preferensi personal
SLA Review¶
| Ukuran Perubahan | Target Review |
|---|---|
| Kecil (< 100 baris) | 4 jam |
| Sedang (100–400 baris) | 1 hari kerja |
| Besar (> 400 baris) | Diskusi dulu, pertimbangkan dipecah |
Status Review¶
| Status | Artinya |
|---|---|
| Need Review | Menunggu reviewer |
| In Progress | Ada catatan, author perlu revisi |
| Ready to Merge | Reviewer oke, siap di-merge |
Butuh minimal 1 reviewer sebelum merge ke develop, dan 1 review dari lead sebelum merge ke main.
Reviewers are not gatekeepers
Tujuan review bukan mencari kesalahan, tapi memastikan kode bisa di-maintain bersama. Beri feedback yang konstruktif dan spesifik.