Kalau kamu pernah nulis kode dan merasa… “Eh, kok variabelku aneh banget ya?” – kemungkinan besar itu karena salah pakai gaya penamaan alias naming convention. Tenang, kamu nggak sendirian. Bahkan programmer senior pun kadang bingung membedakan camelCase, PascalCase, dan SCREAMING_SNAKE_CASE.
Di artikel ini, aku bakal kasih panduan lengkap yang gampang diingat, plus trik biar kode kamu rapi, profesional, dan enak dibaca.
1. Camel Case – Si “Ular Luwes”
Ciri-ciri: Kata pertama huruf kecil, kata berikutnya huruf besar, tanpa underscore.
Contoh: userName, filePath, maxValue
Kapan dipakai: Variabel, properti, dan fungsi di banyak bahasa (JavaScript, Java, C#).
Bayangin ular yang melengkung: mulut kecil di awal, terus badan panjang melengkung. Itu camelCase. Mudah diingat, kan?
2. Pascal Case – Nama Orang yang Elegan
Ciri-ciri: Semua kata diawali huruf besar, tanpa underscore.
Contoh: UserName, FilePath, MaxValue
Kapan dipakai: Nama kelas, tipe, atau enum.
Kalau camelCase itu ular, PascalCase itu seperti nama orang fancy. Kamu pasti ingin kode kelasmu kelihatan profesional dan elegan.
3. Snake Case – Si Ular Merayap
Ciri-ciri: Semua huruf kecil, kata dipisah underscore _.
Contoh: user_name, file_path, max_value
Kapan dipakai: Variabel dan fungsi di Python, Ruby, dan beberapa bahasa lain.
Ini cocok untuk kamu yang suka kode rapi, jelas, dan mudah dibaca. Plus, kalau kamu suka ular, snake_case bener-bener cocok! 🐍
4. SCREAMING SNAKE CASE – Ular yang Berteriak
Ciri-ciri: Semua huruf besar, kata dipisah underscore.
Contoh: INVALID_MIME, MAX_LENGTH, ERROR_CODE
Kapan dipakai: Konstanta, nilai yang tidak berubah.
Ini kayak snake_case tapi lagi ngamuk. Jadi kalau kamu lihat kode penuh huruf kapital dengan underscore, biasanya itu konstanta.
5. Kebab Case – Ular yang Berjalan di Jalan Raya
Ciri-ciri: Semua huruf kecil, kata dipisah tanda strip -.
Contoh: user-name, file-path, max-value
Kapan dipakai: URL, nama file, CSS class.
Bayangin jalan raya: kata-kata dipisah supaya nggak nabrak. Praktis banget buat web developer.
6. Lain-lain yang Perlu Kamu Tahu
- Train-Case: Kata dipisah strip tapi huruf besar di awal setiap kata. Contoh:
User-Name. Kadang dipakai di dokumentasi. - dot.case: Kata dipisah titik, biasanya untuk namespace. Contoh:
user.name. - Hungarian Notation: Ada prefix untuk tipe data. Contoh:
strUserName,bIsReady. Dulu populer di C/C++, sekarang jarang.
| Gaya Penamaan | Ciri-ciri | Contoh | Kegunaan Umum |
|---|---|---|---|
| camelCase | Kata pertama huruf kecil, kata berikutnya diawali huruf besar, tanpa underscore | userName, filePath, maxValue |
Variabel, properti, fungsi di banyak bahasa (JavaScript, Java, C#) |
| PascalCase (atau UpperCamelCase) | Semua kata diawali huruf besar, tanpa underscore | UserName, FilePath, MaxValue |
Nama kelas, tipe, enum di C#, Java, dll |
| snake_case | Semua huruf kecil, kata dipisah underscore | user_name, file_path, max_value |
Variabel dan fungsi di Python, Ruby, dll |
| SCREAMING_SNAKE_CASE | Semua huruf besar, kata dipisah underscore | INVALID_MIME, MAX_LENGTH, ERROR_CODE |
Konstanta atau nilai yang tidak berubah |
| kebab-case | Semua huruf kecil, kata dipisah tanda strip - |
user-name, file-path, max-value |
URL, nama file, CSS class |
| Train-Case | Semua kata diawali huruf besar, dipisah tanda strip | User-Name, File-Path |
Kadang digunakan di dokumentasi atau judul, jarang di kode |
| dot.case | Kata dipisah titik . |
user.name, file.path |
Namespace, package, konfigurasi |
| HungarianNotation | Prefiks menunjukkan tipe data, kata berikutnya biasanya camelCase | strUserName, nMaxValue, bIsReady |
Kadang di C/C++ lama, sekarang jarang dipakai |
| UPPERCASE | Semua huruf besar, tanpa underscore | MAXVALUE, ERRORCODE |
Kadang dipakai untuk konstanta, tapi SCREAMING_SNAKE_CASE lebih umum |
Sekarang kamu tahu rahasia di balik semua gaya penamaan:
- camelCase → variabel & fungsi
- PascalCase → kelas & tipe
- snake_case → Python/Ruby, rapi
- SCREAMING_SNAKE_CASE → konstanta
- kebab-case → URL, file, CSS
Dengan mengetahui ini, kode kamu nggak cuma jalan, tapi juga cantik dan profesional. 😎

Posting Komentar
0Komentar