Mengapa Clean Code — Clean Code

Coba bayangin kamu baru join tim baru. Hari pertama dikasih akses repo — buka file utama. Variabel namanya d, arr, tmp, flag2. Fungsi panggil 5-7 fungsi lain de

Coba bayangin kamu baru join tim baru. Hari pertama dikasih akses repo — buka file utama. Variabel namanya d, arr, tmp, flag2. Fungsi panggil 5-7 fungsi lain dengan nama processData(), handleStuff(). Komentar 3 tahun gak update. Kamu butuh 2 jam buat paham 1 fitur kecil. Itu kode "yang jalan tapi gak clean". Clean code adalah kode yang mudah dibaca, dipahami, dan di-maintain — bukan cuma oleh kamu, tapi oleh developer lain (termasuk "kamu dari masa depan" yang udah lupa konteksnya 6 bulan kemudian).

💡 80/20 rule developer. Studi McConnell + Robert Martin: developer ngabisin 80% waktu BACA kode, cuma 20% nulis kode baru. Kode susah baca = waktu terbuang = biaya skyrocket. Investasi 5 menit nulis nama variabel yang jelas = hemat 50 menit reading time minggu depan.

Contoh kode buruk vs bersih:

// BURUK — apa maksudnya? Apa "t = 1"? Hitung apa?
function calc(a, b, t) {
  if (t === 1) return a + b;
  if (t === 2) return a - b;
  if (t === 3) return a * b;
  return 0;
}
const r = calc(100, 20, 1);

// BERSIH — langsung paham
function calculatePrice(basePrice, discount) {
  return basePrice - discount;
}
const finalPrice = calculatePrice(100000, 20000);

Versi bersih + 5 detik: kamu tahu app jualan, ada harga + diskon, hasilnya harga akhir. Versi buruk + 5 menit: masih nebak-nebak.

Ciri-ciri clean code:

  1. Bisa dibaca seperti prosa — paham tanpa harus nebak
  2. Fungsi kecil — setiap fungsi melakukan satu hal
  3. Nama bermakna — variable dan fungsi menjelaskan dirinya sendiri
  4. Tidak ada duplikasi — setiap pengetahuan ada di satu tempat
  5. Testable — mudah dites karena terstruktur baik

Mitos yang harus dibuang:

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." — Robert C. Martin

🎭 Analogi sehari-hari

Clean code itu kayak dapur restoran profesional vs dapur kosan anak kuliahan. Dapur kosan: alat masak campur baur (d, arr, tmp), bahan tanpa label, koki sebelumnya cuma tahu cara nyari "bumbu yang itu di rak ketiga sebelah panci yang gosong". Pas koki ganti, butuh 2 jam buat orientasi. Dapur restoran profesional: tiap alat dilabel jelas (currentDate, activeUsers), bumbu di-rak rapi alphabetical, ada SOP buat tiap dish. Koki baru bisa langsung kerja dalam 15 menit. Investasi awal labeling + organisasi = hemat WAKTU + STRESS jangka panjang. Kode kamu = dapur tim. Pilih jadi profesional atau kosan?

Yang Akan Kamu Pelajari di Seri Ini

Setiap topik bakal nunjukin contoh sebelum (buruk) dan sesudah (bersih), supaya kamu langsung lihat perbedaannya.

⚠️ Jebakan yang sering ditemui pemula

TL;DR: Clean code = kode yang mudah dibaca + paham + maintain oleh developer lain (dan diri sendiri 6 bulan kemudian). Penting karena 80% waktu dev = baca kode. Ciri: nama bermakna, fungsi kecil fokus, no duplikasi, testable. Mitos "lambat" / "boros waktu" = SALAH. Investasi awal hemat waktu jangka panjang. Bukan over-engineering — clean code malah SIMPLE. Quote Robert C. Martin: "Good programmers write code that humans can understand."

Yang akan kamu pelajari