5 Tips untuk Pengorganisasian Kode yang Lebih Baik
Kode ditulis sekali, tapi dibaca berkali-kali. Kode yang terorganisir bukan soal estetika, tapi soal skalabilitas dan kemudahan debugging.
1. Separation of Concerns (Pemisahan Tanggung Jawab)
Jangan mencampur aduk logika.
-
Buruk: Fungsi
klikTombolLoginyang mengambil nilai input, memvalidasi email, memanggil API, menyimpan token, dan mengarahkan halaman sekaligus. -
Baik: Pecah menjadi fungsi kecil:
validateInput(),loginAPI(),saveToken(). FungsiklikTombolLoginhanya bertugas memanggil fungsi-fungsi kecil tersebut secara berurutan.
2. Prinsip Folder: Feature-First vs Type-First
-
Type-First (Klasik): Mengelompokkan file berdasarkan jenisnya (folder
controllers,models,views). Ini oke untuk proyek kecil. -
Feature-First (Modern): Mengelompokkan berdasarkan fitur bisnis (folder
User,Cart,Product). Di dalam folderCart, terdapat semua hal terkait keranjang (komponen UI, logika API, styling). Ini memudahkan saat aplikasi membesar.
3. Penamaan adalah Dokumentasi Terbaik
Hindari komentar yang menjelaskan “apa” yang dilakukan kode, biarkan nama variabel yang menjelaskannya.
-
Buruk:
const d = 86400; // detik dalam sehari -
Baik:
const SECONDS_IN_A_DAY = 86400;
Gunakan konvensi standar:
-
Variabel Boolean diawali is, has, can (contoh:
isMenuOpen,hasPermission). -
Fungsi diawali kata kerja (contoh:
getUser,handleClick).
4. Hindari “Magic Numbers” dan Hardcoding
Jangan menulis nilai mentah langsung di tengah logika.
-
Jangan:
if (status === 2) { ... }(Apa arti angka 2?) -
Lakukan: Buat file konstanta.
JavaScriptconst STATUS = { PENDING: 1, APPROVED: 2, REJECTED: 3 }; if (status === STATUS.APPROVED) { ... }
5. Konsistensi Otomatis (Linter & Formatter)
Manusia tidak konsisten, mesin iya. Dalam tim, perdebatan tentang “pakai titik koma atau tidak” atau “kutip satu atau dua” adalah buang waktu.
-
Gunakan Prettier untuk merapikan format kode otomatis saat save.
-
Gunakan ESLint untuk mencari potensi bug atau pola kode yang buruk (misalnya: variabel yang dideklarasikan tapi tidak dipakai).