Langsung ke konten
LeedyBox
Dukung

Penjelasan Gaya Penamaan dan Konvensinya

Nama dalam kode, file, URL, dan judul mengikuti konvensi yang berbeda dari satu bahasa dan format ke yang lain. Panduan ini merangkum gaya penamaan yang umum, di mana masing-masing diharapkan, dan detail yang sering menjebak: akronim, angka, judul, dan huruf di luar bahasa Inggris.

Gaya yang Umum

GayaContohCara membentuknya
camelCaseorderTotalKata pertama huruf kecil, kata berikutnya diawali huruf kapital, tanpa pemisah
PascalCaseOrderTotalSetiap kata diawali huruf kapital, tanpa pemisah
snake_caseorder_totalHuruf kecil, kata digabung dengan _
CONSTANT_CASEORDER_TOTALHuruf kapital, kata digabung dengan _
kebab-caseorder-totalHuruf kecil, kata digabung dengan -
dot.caseorder.totalHuruf kecil, kata digabung dengan .
Title CaseOrder TotalKata dipisahkan spasi, masing-masing diawali huruf kapital
Sentence caseOrder totalHanya kata pertama yang diawali huruf kapital

camelCase kadang disebut lower camel case dan PascalCase upper camel case. CONSTANT_CASE juga dikenal sebagai screaming snake case.

Gaya yang Diharapkan Setiap Bahasa dan Format

Sebagian besar ekosistem sudah lama menyepakati konvensi, dan mengikutinya membuat kode lebih mudah dibaca oleh siapa pun yang mengenal ekosistem itu:

Di manaKonvensi umum
JavaScript, TypeScript, JavacamelCase untuk variabel dan fungsi, PascalCase untuk kelas, CONSTANT_CASE untuk konstanta tetap
Python (PEP 8)snake_case untuk fungsi dan variabel, PascalCase untuk kelas, CONSTANT_CASE untuk konstanta
C#PascalCase untuk tipe, metode, dan anggota publik; camelCase untuk variabel lokal dan parameter
GoPascalCase mengekspor nama ke luar paketnya, camelCase membuatnya tetap privat
Ruby, Rustsnake_case untuk metode dan variabel, PascalCase untuk tipe
CSS dan HTMLkebab-case untuk properti, nama kelas, dan atribut data-
URLkebab-case; Google menyarankan tanda hubung, bukan garis bawah, di antara kata
Tabel dan kolom SQLsnake_case, karena banyak basis data menyeragamkan nama tanpa tanda kutip ke satu jenis huruf
Variabel lingkunganCONSTANT_CASE, seperti DATABASE_URL
Kunci konfigurasidot.case untuk pengaturan bertingkat, seperti server.port
API JSONTidak ada aturan tunggal: banyak memakai camelCase, yang lain snake_case; ikuti API yang Anda pakai

Di sebagian besar bahasa pemrograman, kebab-case tidak bisa dipakai untuk nama variabel karena tanda hubung dibaca sebagai tanda minus: order-total berarti order dikurangi total.

Akronim dan Angka

Akronim adalah titik di mana konvensi paling berbeda. Satu aliran mempertahankannya dalam huruf kapital (userID, parseHTML); aliran lain memperlakukannya sebagai kata biasa (userId, parseHtml). Panduan gaya Java dan JavaScript dari Google mengikuti pendekatan kedua, yang menjaga batas kata tetap jelas saat akronim bertemu: XmlHttpRequest lebih mudah dipisah daripada XMLHTTPRequest. Pedoman .NET dari Microsoft menulis akronim dua huruf dalam kapital (IOStream) dan hanya mengkapitalkan huruf pertama akronim yang lebih panjang (HtmlButton). API browser XMLHttpRequest mencampur keduanya, karena itu sering dijadikan contoh yang perlu dihindari.

Angka tidak punya huruf besar atau kecil, jadi konverter tidak bisa tahu apakah utf8Decoder berarti “utf8 decoder” atau “utf 8 decoder”. Konverter biasanya menempelkan angka ke kata sebelumnya. Pilih satu ejaan dan pakai di mana-mana.

Title Case dan Sentence case pada Judul

Pada judul berbahasa Inggris, panduan gaya tidak mengkapitalkan setiap kata dengan cara yang sama. Gaya AP dan Chicago membiarkan artikel, konjungsi, dan preposisi pendek tetap huruf kecil kecuali di awal atau akhir (“The Lord of the Rings”), dan berbeda dalam daftar persisnya. Banyak panduan antarmuka dan dokumentasi, termasuk panduan dokumentasi pengembang dari Microsoft dan Google, memakai Sentence case (“Change your password”), yang lebih mudah diterapkan secara konsisten dan terasa kurang formal.

Title Case pada konverter LeedyBox mengkapitalkan setiap kata. Itu cocok untuk label dan nama mirip variabel, tetapi tidak untuk judul gaya surat kabar: turunkan kata-kata pendek menjadi huruf kecil secara manual setelahnya.

Konversi Antargaya Menghilangkan Informasi

Setiap konversi pertama-tama memecah nama menjadi kata, dengan huruf kapital dan pemisah sebagai petunjuk, lalu menggabungkan kata-kata itu dalam gaya baru. Apa yang tidak bisa diungkapkan gaya tujuan akan hilang: parseHTML menjadi parse_html, dan dikonversi balik menjadi parseHtml. Tanda baca juga dibuang, sehingga “don't” menjadi dua kata.

Karena itu, jadikan satu gaya sebagai acuan. Jika basis data memakai snake_case dan kode memakai camelCase, lakukan konversi di batas setiap kali, ke arah yang sama, alih-alih menyimpan nama dalam kedua bentuk.

Mengganti Nama Kunci di Batas API

Saat front-end dengan camelCase berkomunikasi dengan back-end dengan snake_case, sebagian besar pustaka serialisasi bisa memetakan nama secara otomatis, sehingga data tidak pernah diganti namanya secara manual. Mengonversi dokumen JSON satu kali, misalnya data uji atau contoh respons, adalah tugas lain, dan mode “Kunci JSON” pada konverter melakukannya tanpa menyentuh nilai.

Waspadai tabrakan: user_name dan userName menjadi kunci yang sama di gaya mana pun, dan yang satu akan menimpa yang lain. Simbol di awal seperti _id atau $ref sering punya arti bagi basis data atau skema tertentu, jadi periksa apakah boleh diganti namanya.

Huruf Besar dan Kecil di Luar Bahasa Inggris

Aturan huruf besar-kecil tidak sama di semua bahasa. Huruf ß dalam bahasa Jerman menjadi SS dalam huruf kapital, sehingga katanya bertambah panjang. Bahasa Turki punya i bertitik dan ı tanpa titik: pasangan kapitalnya adalah i → İ dan ı → I, sedangkan aturan bawaan sebagian besar bahasa pemrograman mengubah i menjadi I. toUpperCase() di JavaScript memakai aturan bawaan; toLocaleUpperCase('tr') menerapkan aturan Turki. Bahasa Korea, Tionghoa, dan Jepang sama sekali tidak mengenal huruf besar-kecil, jadi hanya pemisah antarkata yang berubah.

Huruf besar-kecil juga bisa berpengaruh pada nama file. Windows dan, secara bawaan, macOS memperlakukan Readme.md dan README.md sebagai file yang sama, sedangkan Linux memperlakukannya sebagai dua file. Penggantian nama yang hanya mengubah huruf besar-kecil bisa tidak terdeteksi di satu sistem dan merusak tautan atau import di sistem lain.

Pertanyaan Umum

Mana yang lebih baik, camelCase atau snake_case?

Secara umum tidak ada yang lebih baik. Pakai konvensi bahasa, framework, atau API yang Anda gunakan; konsistensi dalam satu basis kode lebih penting daripada pilihannya.

Apakah URL sebaiknya memakai tanda hubung atau garis bawah?

Tanda hubung. Panduan Google tentang URL menyarankan tanda hubung di antara kata, dan slug kebab-case seperti /case-converter/ adalah praktik umum di web.

Mengapa Git tidak menyadari saya hanya mengubah huruf besar-kecil nama file?

Pada sistem file yang tidak membedakan huruf besar-kecil, Git sering menganggap nama lama dan baru sebagai file yang sama. Ganti nama dengan git mv, misalnya melalui nama sementara, agar perubahan tercatat untuk sistem yang membedakan huruf besar-kecil.

Bagaimana menulis nama merek seperti iPhone atau eBay dalam camelCase?

Konverter memecah kata di huruf kapital, jadi nama seperti itu menjadi kata-kata terpisah. Dalam kode biasanya lebih jelas memperlakukan merek sebagai satu kata (iphoneModel) dan memakai ejaan resminya hanya pada teks yang dibaca orang.