Kode ditulis sekali tetapi dibaca puluhan kali, dan nama adalah bagian kode yang paling sering dibaca. Nama yang tepat membuat baris totalHarga = HARGA_PER_KILO_GAYO * beratPesananKilo; langsung terjelas; nama yang asal (a = p * b;) memaksa pembaca menyusuri seluruh kode hanya untuk memahami satu baris. Karena itu, penamaan bukan urusan estetika, melainkan bagian dari kualitas program.
Chapter ini membahas dua lapis aturan: aturan teknis yang dipegang engine (nama apa yang sah), dan konvensi yang disepakati komunitas (gaya mana untuk jenis identifier mana). Kita tutup dengan satu berkas contoh yang mempraktikkan semuanya.
Aturan Teknis Identifier #
Engine memaklumatkan identifier dengan syarat berikut:
- Diawali huruf,
_, atau$. Angka diperbolehkan setelah karakter pertama, misalnyatotal2. - Tidak boleh sama dengan reserved word milik JavaScript, misalnya
let,const,var,function,return,class,if,else,for, danwhile. - Bersifat case-sensitive:
hargaKopidanHargaKopiadalah dua wadah yang berbeda.
Sifat case-sensitive layak dibuktikan, karena typo kapitalisasi adalah sumber bug yang senyap:
let hargaKopi = 20000;
let HargaKopi = 25000;
console.log(hargaKopi, HargaKopi);Output yang Dihasilkan:
20000 25000Engine tidak memberi peringatan apa pun: kedua nama itu memang sah dan berdiri sendiri. Kesimpulannya, keseragaman kapitalisasi sepenuhnya menjadi tanggung jawab penulis kode.
camelCase untuk Variabel dan Function #
Konvensi paling dominan di JavaScript adalah camelCase: kata pertama huruf kecil semua, kata berikutnya diawali huruf kapital, tanpa spasi maupun garis bawah. Variabel dan function mengikuti gaya ini:
let namaPengiriman = "Reguler";
let biayaKirim = 10000;Gaya ini memudahkan pembacaan karena setiap batas kata terlihat tanpa memutus aliran teks. Bandingkan alamatPengirimanUtama dengan alamatpengirimanutama — informasi yang sama, tingkat keterbacaan yang jauh berbeda.
UPPER_SNAKE_CASE untuk Nilai Tetap #
Konstanta konfigurasi — nilai yang ditetapkan sekali dan menjadi acuan seluruh program — ditulis dengan huruf kapital semua dan garis bawah sebagai pemisah. Kebiasaan ini melengkapi const: pembaca yang melihat nama berformat UPPER_SNAKE_CASE langsung paham bahwa nilai tersebut tidak dimaksudkan untuk berubah:
const HARGA_PER_KILO_GAYO = 125000;
const BATAS_GRATIS_KIRIM_KG = 2;PascalCase, kebab-case, dan Gaya Lainnya #
Dua gaya lain akan kita jumpai seiring materi bertambah:
- PascalCase (setiap kata diawali huruf kapital) dipakai untuk nama class dan constructor — contohnya
KasirKopi. Kita akan menerapkannya saat sampai di section Object-Oriented JavaScript. - kebab-case (huruf kecil semua, dipisah garis putus) dipakai untuk nama berkas, misalnya
kasir-kopi.jsdanlacak-bug.jspada section ini. Aturan ini berlaku di seluruh folder Course JavaScript.
Pemisahan peran ini membuat pembaca bisa menebak jenis identifier dari bentuk namanya sendiri — salah satu bentuk konsistensi yang paling murah namun paling berdampak.
Nama yang Deskriptif #
Konvensi kapitalisasi hanya setengah pekerjaan; sisi lainnya adalah memilih kata yang tepat. Tabel berikut membandingkan beberapa kasus umum:
| Kurang informatif | Lebih deskriptif | Alasan |
|---|---|---|
x, a1 | beratPesananKilo | Nama menyampaikan makna dan satuannya |
data | daftarPesanan | “Data” cocok untuk apa saja, artinya tidak ada |
hitung() | hitungTotalTagihan() | Function diawali kata kerja yang menyatakan aksinya |
flag | isPelangganAktif | Nama boolean diawali is/has agar terbaca seperti pertanyaan |
Panduan sederhananya: nama boleh panjang selama setiap katanya bekerja. Singkatan hanya layak bila maknanya disepakati luas di tim, misalnya url atau id.
Dua kebiasaan tambahan yang menjaga nama tetap jujur pada isinya. Pertama, sesuaikan bentuk nama dengan jumlah nilainya: satu nilai lebih pas dengan nama tunggal (totalHarga), sementara kumpulan nilai — yang akan kita pelajari di section Arrays — lazim diberi nama bentuk jamak (daftarPesanan) agar pembaca bisa menebak bahwa isinya lebih dari satu. Kedua, hindari nama yang menyimpang dari isi: variabel bernama total yang sebenarnya memuat subtotal akan menyesatkan setiap pembaca berikutnya, termasuk kita sendiri. Mengganti nama begitu arti nilai berubah selalu lebih murah daripada membiarkan nama yang keliru dipakai terus.
Contoh Penerapan dalam Satu Berkas #
Berkas berikut menggabungkan ketiga konvensi inti — UPPER_SNAKE_CASE untuk nilai tetap, camelCase untuk data yang berubah, dan nama deskriptif dengan satuan:
// konvensi-penamaan.js
// Gaya penamaan yang konsisten membuat maksud setiap identifier terbaca sekali lalu.
const HARGA_PER_KILO_GAYO = 125000; // UPPER_SNAKE_CASE: nilai tetap
const NAMA_PENGGILING = "Mesin Roasting No. 3";
let namaPemesan = "Budi"; // camelCase: data yang bisa berubah
let beratPesananKilo = 2;
let totalHarga = HARGA_PER_KILO_GAYO * beratPesananKilo;
console.log("Pemesan:", namaPemesan);
console.log("Total:", totalHarga);
console.log("Digiling di:", NAMA_PENGGILING);Output yang Dihasilkan:
Pemesan: Budi
Total: 250000
Digiling di: Mesin Roasting No. 3Mari kita telaah apa yang terjadi pada baris-baris kode di atas:
- Baris 4–5 (
const HARGA_PER_KILO_GAYO = 125000;dst.): dua konstanta konfigurasi ditulis kapital. NamaHARGA_PER_KILO_GAYOsekaligus menyimpan makna (harga), satuannya (per kilo), dan asalnya (Gayo) — tidak ada yang perlu ditebak. - Baris 7 (
let namaPemesan = "Budi";): data yang mungkin berubah memakai camelCase. Perbedaan gaya ini membuat pembaca bisa membedakan konfigurasi dari data kerja hanya dengan melihat bentuk namanya. - Baris 8 (
let beratPesananKilo = 2;): satuanKilodisematkan pada nama. Tanpa itu, pembaca berikutnya bisa saja menganggap nilainya gram — kesalahan satuan adalah bug klasik. - Baris 9 (
let totalHarga = HARGA_PER_KILO_GAYO * beratPesananKilo;): expression perhitungan terbaca hampir seperti kalimat: harga per kilo dikali berat pesanan. - Baris 11–13 (
console.log(...)): tiga pembacaan menampilkan isi ketiga jenis identifier. Nama-nama di sisi kiri:pada keluaran mempermudah pemetaan antara kode dan hasilnya.
Dengan penamaan yang tertata, kode kita kini mudah dibaca manusia. Dua chapter penutup section ini menambah lapisan ketahanan: strict mode yang mengawasi kesalahan, dan debugging yang melacak kesalahan yang lolos.
Berkas Sumber
Berkas pendukung halaman ini dapat diunduh dan dijalankan langsung sesuai penjelasan di atas.
konvensi-penamaan.js
Unduh berkas// konvensi-penamaan.js
// Gaya penamaan yang konsisten membuat maksud setiap identifier terbaca sekali lalu.
const HARGA_PER_KILO_GAYO = 125000; // UPPER_SNAKE_CASE: nilai tetap
const NAMA_PENGGILING = "Mesin Roasting No. 3";
let namaPemesan = "Budi"; // camelCase: data yang bisa berubah
let beratPesananKilo = 2;
let totalHarga = HARGA_PER_KILO_GAYO * beratPesananKilo;
console.log("Pemesan:", namaPemesan);
console.log("Total:", totalHarga);
console.log("Digiling di:", NAMA_PENGGILING);