MADEBYARIS

Clean code adalah: arti, contoh, dan cara menerapkannya di tim dan AI agent

By Aris Setiawan3 min read

Clean code adalah kode yang mudah dibaca dan mudah diubah tanpa efek samping yang mengejutkan. Namanya jelas, strukturnya bisa ditebak, dan developer lain bisa memahami cara kerjanya tanpa membongkar logika yang berbelit.

Tanda kode yang berantakan

  • Fungsi yang panjangnya puluhan baris dan mengerjakan beberapa hal sekaligus.
  • Nama variabel seperti data, temp, atau flag yang menyembunyikan maksudnya.
  • Kondisi bersarang dalam yang memaksa pembaca melacak banyak cabang.
  • Logika yang disalin ke banyak tempat, bukan dipakai bersama.
  • File yang bergantung erat pada struktur data di lapisan lain.

Praktik yang paling berpengaruh

Kamu tidak perlu menulis ulang seluruh arsitektur. Beberapa kebiasaan yang konsisten sudah memperbaiki kode di pull request harian.

  • Fungsi kecil dan fokus. Satu fungsi mengerjakan satu hal. Kalau sebuah fungsi membaca input, mengecek izin, menulis ke database, dan menyusun email, pecah menjadi beberapa fungsi.
  • Nama yang menjelaskan maksud. Kalau sebuah variabel butuh komentar di sebelahnya, ganti namanya.
  • Struktur folder per fitur. File yang berkaitan diletakkan berdekatan, sehingga mencari dan mengubah kode lebih cepat.
  • Test dan lint. Pengecekan otomatis menangkap kesalahan sebelum review.

Contoh sebelum dan sesudah

Fungsi berikut menghitung diskon pesanan. Versi pertama sulit dibaca.

function calc(d: any) {
  if (d.s === 'active') {
    if (d.t > 100) {
      return d.t * 0.9;
    }
  }
  return d.t;
}

Singkatan menyembunyikan maksud, dan kondisi bersarang menambah beban pikiran. Versi yang dirapikan:

interface Order {
  status: 'active' | 'inactive';
  totalAmount: number;
}

const MINIMUM_DISCOUNT_THRESHOLD = 100;
const DISCOUNT_RATE = 0.1;

function calculateDiscountedTotal(order: Order): number {
  const isEligible =
    order.status === 'active' && order.totalAmount > MINIMUM_DISCOUNT_THRESHOLD;
  if (!isEligible) {
    return order.totalAmount;
  }
  return order.totalAmount * (1 - DISCOUNT_RATE);
}

Nama, tipe, dan konstanta yang jelas membuat aturan bisnisnya terbaca sekilas.

Clean code untuk AI agent seperti Cursor

Alat coding AI memprediksi kode berdasarkan konteks di sekitarnya. Di repo dengan penamaan konsisten, tipe yang jelas, dan folder yang rapi, agent menghasilkan kode yang lebih tepat. Di repo yang penuh kode mati dan pola yang bertentangan, agent meniru kekacauan itu.

  • Tulis konvensi di AGENTS.md dan aturan proyek, misalnya pola komponen yang dipakai dan library yang tidak boleh dipakai lagi. Lihat juga aturan proyek untuk Cursor (bahasa Inggris).
  • Pasang lint, tipe, dan test sebagai pagar pengaman, baik kodenya ditulis orang maupun agent.
  • Pakai checklist review untuk kode hasil AI (bahasa Inggris) sebelum menggabungkan pull request.

Kesalahan yang sering terjadi

  • Mengejar kesempurnaan dan merapikan semua kode lama sebelum merilis fitur, sampai rilis tertunda.
  • Terlalu banyak abstraksi, misalnya memecah operasi tiga baris menjadi beberapa pola desain.
  • Menganggap satu baris yang padat sebagai kode yang bersih. Kode lebih sering dibaca daripada ditulis, jadi keterbacaan lebih penting.

Pertanyaan yang sering muncul

Apakah clean code memperlambat pengiriman fitur? Di sprint pertama, menulis test dan memperbaiki nama memang butuh sedikit waktu lebih. Setelah beberapa minggu, tim menghabiskan lebih sedikit waktu mengejar bug dan mengurai efek samping.

Perlukah menulis ulang sistem lama dari nol? Penulisan ulang total jarang berhasil karena membuang penanganan kasus khusus yang sudah dikumpulkan bertahun-tahun. Lebih aman merapikan bertahap: terapkan konvensi di area yang aktif dikerjakan, isolasi modul lama di balik antarmuka yang jelas, dan tambahkan test sebelum mengubah logikanya.

Apa satu aturan terbaik untuk sehari-hari? Tinggalkan kode lebih bersih daripada saat kamu menemukannya. Setiap kali menyentuh sebuah file, perbaiki satu hal kecil.

Langkah berikutnya

Kalau codebase kamu sudah penuh pola campur aduk dari penulisan cepat atau alat AI, lihat jasa clean code untuk tim dan AI agent. Untuk perbaikan yang terfokus, lihat juga memperbaiki kode hasil AI (bahasa Inggris). Atau kirim repo kamu lewat halaman kontak. Saya balas dalam 24 jam.

Need this built instead of read about?

Send me your project. I reply within 24 hours and tell you plainly whether I’m the right fit.

Send me your project

More on Tech