KuloDev
1 Hari
0 XP
beginner15 menitModul: 07-debugging-clean-code

Clean Code: Seni Penamaan, DRY, KISS, & YAGNI

Menulis kode yang dibaca seperti prosa bahasa manusia, mudah dirawat oleh rekan tim, dan bebas dari duplikasi membengkak.

1. Kode Dibaca Jauh Lebih Sering daripada Ditulis

Rasio membaca kode dibanding menulis kode baru di industri adalah sekitar 10 banding 1. Menulis kode yang 'terlalu pintar' (one-liner membingungkan) bukanlah tanda kehebatan; kode terbaik adalah kode yang bahkan orang non-programmer pun bisa menebak tujuannya saat membaca namanya.

4 Prinsip Emas Clean Code
1. **Descriptive Naming**: Nama variabel harus mencerminkan maksud (Intention-Revealing). Hindari `x`, `temp`, `data2`, `arr`. 2. **DRY (Don't Repeat Yourself)**: Jangan salin-tempel (copy-paste) kode yang sama. Ekstrak menjadi fungsi atau modul yang dapat dipakai ulang. 3. **KISS (Keep It Simple, Stupid)**: Pilih solusi paling sederhana yang menyelesaikan masalah secara tuntas tanpa over-engineering. 4. **YAGNI (You Aren't Gonna Need It)**: Jangan bangun fitur rumit untuk skenario masa depan yang belum tentu terjadi sekarang.
Contoh Refactoring Kode Menjadi Bersih
javascript
1// ❌ KODE KOTOR: Nama variabel membingungkan & magic numbers
2function prc(d) {
3 let t = 0;
4 for (let i = 0; i < d.length; i++) {
5 if (d[i].s === 1 && d[i].a > 18) {
6 t += d[i].p * 0.9;
7 }
8 }
9 return t;
10}
11
12// ✅ CLEAN CODE: Terbaca jelas dan bermakna
13const STATUS_AKTIF = 1;
14const USIA_MINIMAL_DEWASA = 18;
15const DISKON_MEMBER = 0.10; // 10%
16
17function hitungTotalBelanjaMemberDewasa(daftarPengguna) {
18 return daftarPengguna
19 .filter((user) => user.status === STATUS_AKTIF && user.usia > USIA_MINIMAL_DEWASA)
20 .reduce((total, user) => total + (user.tagihan * (1 - DISKON_MEMBER)), 0);
21}
Kuis Pemahaman
+10 XP

Apa kepanjangan dan arti dari prinsip 'DRY' dalam software engineering?

Selesaikan Materi Ini?

Dapatkan +25 XP dan simpan progres belajarmu.