Code Review Ethics

Code Review Ethics #

Code review adalah salah satu praktik paling penting dalam software engineering. Hampir semua tim engineering modern melakukannya, baik melalui pull request, merge request, atau mekanisme serupa. Namun ironisnya, banyak code review yang justru melenceng jauh dari tujuan aslinya.

Alih-alih menjadi alat kolaborasi dan peningkatan kualitas, code review sering berubah menjadi:

  • Ajang pamer kepintaran
  • Sarana menghakimi
  • Medan debat ego
  • Formalitas sebelum merge

Artikel ini membahas etika dalam code review: apa itu code review ethics, mengapa ini penting, kesalahan-kesalahan umum yang sering terjadi, dan best practice agar code review benar-benar memberi nilai bagi tim dan produk.

Apa Itu Code Review Ethics? #

Code Review Ethics adalah seperangkat prinsip, sikap, dan perilaku profesional yang harus dijaga saat melakukan code review, dengan tujuan utama:

  • Menjaga kualitas kode
  • Meningkatkan kualitas sistem
  • Membantu pertumbuhan engineer
  • Memperkuat kolaborasi tim

Etika ini bukan soal sopan santun semata, tapi soal mindset: memahami bahwa code review adalah proses teknis dan sosial sekaligus.

Code review bukan tentang siapa yang benar, tapi tentang apa yang terbaik untuk sistem dan tim.


Tujuan Sebenarnya dari Code Review #

Banyak masalah code review muncul karena tim salah memahami tujuannya.

Tujuan code review yang sebenarnya:

1. Menjaga dan Meningkatkan Kualitas Kode #

  • Mendeteksi bug lebih awal
  • Mengurangi technical debt
  • Menjaga konsistensi arsitektur dan style

2. Knowledge Sharing #

  • Reviewer belajar konteks baru
  • Author belajar perspektif dan pendekatan lain
  • Pengetahuan tidak terpusat pada satu orang

3. Risk Mitigation #

  • Menghindari single point of failure
  • Memastikan lebih dari satu orang memahami perubahan

4. Continuous Improvement #

  • Mendorong diskusi sehat
  • Mengasah cara berpikir teknis
  • Membentuk budaya engineering yang matang

Jika code review tidak menghasilkan salah satu dari hal di atas, maka besar kemungkinan prosesnya bermasalah.


Kesalahan Umum yang Membelokkan Code Review dari Tujuannya #

Code Review Sebagai Ajang Superioritas #

Ciri-cirinya:

  • Komentar bernada merendahkan
  • Fokus menunjukkan bahwa reviewer “lebih tahu”
  • Mengoreksi hal kecil dengan cara agresif

Dampaknya:

  • Author defensif
  • Diskusi tidak produktif
  • Trust antar engineer rusak

Ingat: kemampuan teknis tinggi tanpa empati justru merusak tim.

Terlalu Fokus pada Style, Mengabaikan Substansi #

Contoh:

  • Berdebat panjang soal naming
  • Mempermasalahkan format yang sudah di-handle oleh formatter
  • Mengabaikan isu logic atau desain

Akibatnya:

  • Review melelahkan
  • Isu penting lolos
  • Proses terasa tidak bernilai

Style penting, tapi bukan tujuan utama.

Menggunakan Code Review untuk Memaksakan Preferensi Pribadi #

Ciri khas:

  • “Saya lebih suka cara ini”
  • “Biasanya saya menulisnya seperti ini”

Masalahnya:

  • Preferensi ≠ standar
  • Tanpa dasar guideline, diskusi jadi subjektif

Code review bukan tempat ego coding style bertarung.

Reviewer Tidak Membaca Konteks #

Sering terjadi ketika:

  • Reviewer tidak membaca description PR
  • Tidak memahami requirement atau RFC
  • Langsung mengomentari potongan kode

Akibatnya:

  • Komentar tidak relevan
  • Author harus menjelaskan ulang
  • Frustrasi dua arah

Review tanpa konteks = noise.

Code Review Hanya Formalitas #

Ciri-ciri:

  • LGTM tanpa membaca
  • Approve cepat demi kejar deadline
  • Tidak ada diskusi sama sekali

Risikonya:

  • Bug masuk ke production
  • Knowledge tidak tersebar
  • Code review kehilangan makna

Prinsip Etika Dasar dalam Code Review #

Review Kodenya, Bukan Orangnya #

  • Fokus pada kode dan dampaknya
  • Hindari bahasa personal

❌ “Kamu salah” ✅ “Pendekatan ini berpotensi menimbulkan issue di…”

Asumsikan Niat Baik #

Setiap engineer:

  • Ingin menyelesaikan tugasnya
  • Tidak sengaja membuat bug

Masuklah dengan mindset: “bagaimana kita bisa memperbaiki ini bersama”.

Jelaskan Alasan, Bukan Sekadar Perintah #

❌ “Ganti pakai ini” ✅ “Ini bisa lebih aman karena…”

Penjelasan = pembelajaran.

Bedakan Wajib vs Opsional #

Gunakan konteks seperti:

  • Must: bug, security, data consistency
  • Should: readability, maintainability
  • Optional: preferensi, alternatif

Ini mencegah author merasa “semua harus diubah”.

Hargai Usaha Author #

Satu kalimat sederhana bisa berdampak besar:

  • “Nice approach”
  • “Thanks for handling edge case ini”

Code review bukan hanya kritik, tapi juga apresiasi.


Best Practice #

Buat Guideline Code Review Tim #

Minimal berisi:

  • Apa yang wajib direview
  • Standar style
  • Cara memberi komentar

Ini mengurangi subjektivitas.

Kecilkan Ukuran Pull Request #

PR kecil:

  • Lebih mudah direview
  • Diskusi lebih fokus
  • Lebih cepat feedback

Code review bukan lomba siapa paling banyak baris.

Gunakan Bahasa Netral dan Kolaboratif #

Contoh:

  • “Bagaimana kalau kita pertimbangkan…”
  • “Menurutmu apakah ada risiko jika…”

Bahasa menentukan kualitas diskusi.

Fokus pada Dampak Sistem #

Tanya hal-hal seperti:

  • Apakah ini scalable?
  • Apakah ini aman?
  • Bagaimana jika traffic naik?

Ini mengarahkan review ke level yang tepat.

Jadikan Code Review sebagai Sarana Belajar #

  • Reviewer belajar konteks
  • Author belajar sudut pandang

Tim yang sehat tidak takut diskusi teknis.


Penutup #

Code review yang baik bukan tentang menang atau kalah, bukan tentang siapa paling pintar, dan bukan sekadar checklist sebelum merge.

Code review adalah:

  • Alat kolaborasi
  • Media pembelajaran
  • Penjaga kualitas jangka panjang

Dengan etika yang tepat, code review akan:

  • Meningkatkan kualitas sistem
  • Memperkuat trust
  • Membentuk budaya engineering yang dewasa

Jika code review terasa menyakitkan, melelahkan, atau penuh konflik, kemungkinan besar yang salah bukan orangnya, tapi caranya.

Mengembalikan code review ke tujuan aslinya adalah tanggung jawab seluruh tim engineering.

About | Author | Content Scope | Editorial Policy | Privacy Policy | Disclaimer | Contact