Panduan

Konvensi Text Case: Panduan Lengkap

Konvensi penamaan adalah aspek penting dari kode yang dapat dibaca dan dipelihara. Memilih gaya case yang tepat untuk variabel, fungsi, file, dan identifier lainnya membantu membuat kode Anda konsisten dan mudah dipahami. Panduan ini menjelaskan konvensi case yang berbeda, kapan menggunakan masing-masing, dan praktik terbaik untuk berbagai bahasa pemrograman.

Konvensi Case Umum

camelCase dimulai dengan huruf kecil dengan setiap kata berikutnya yang di-capitalize: getUserName, calculateTotalPrice, isValidEmail. Ini adalah konvensi dominan untuk nama variabel dan fungsi di JavaScript, Java, C#, dan banyak bahasa C-style lainnya. Nama berasal dari "punuk" yang dibuat oleh huruf kapital yang menyerupai punuk unta. PascalCase (juga disebut UpperCamelCase) serupa dengan camelCase tetapi dimulai dengan huruf kapital: GetUserName, CalculateTotalPrice, IsValidEmail. Ini konvensi standar untuk nama class di sebagian besar bahasa berorientasi objek termasuk Java, C#, Python, dan JavaScript. Komponen React menggunakan PascalCase. Aturannya sederhana: jika itu class atau constructor, gunakan PascalCase; jika itu instance atau fungsi, gunakan camelCase. snake_case menggunakan garis bawah untuk memisahkan kata dengan semua huruf kecil: get_user_name, calculate_total_price, is_valid_email. Ini adalah konvensi yang dipilih di Python untuk nama variabel dan fungsi, seperti yang ditentukan dalam PEP 8 (Python style guide). Banyak database dan sistem SQL menggunakan snake_case untuk nama tabel dan kolom. Beberapa developer menemukan snake_case lebih mudah dibaca daripada camelCase karena jarak kata yang eksplisit. SCREAMING_SNAKE_CASE adalah snake_case tetapi semua huruf kapital: MAX_CONNECTIONS, API_KEY, DEFAULT_TIMEOUT. Ini hampir secara universal digunakan untuk konstanta di sebagian besar bahasa pemrograman. Huruf kapital segera memberi sinyal bahwa nilai tidak dimaksudkan untuk diubah. Ini konvensi kuat yang melampaui batas bahasa—developer di mana pun mengenali SCREAMING_SNAKE_CASE sebagai konstanta. kebab-case (juga disebut dash-case atau lisp-case) menggunakan tanda hubung untuk memisahkan kata: get-user-name, calculate-total-price, is-valid-email. Ini umum dalam URL, nama file CSS, dan atribut HTML. Banyak framework front-end modern menggunakan kebab-case untuk nama komponen dalam template (meskipun definisi mungkin dalam PascalCase). Perhatikan bahwa kebab-case tidak dapat digunakan untuk identifier dalam sebagian besar bahasa pemrograman karena tanda hubung ditafsirkan sebagai operator minus. flatcase (atau lowercase) adalah semua huruf kecil tanpa separator: getusername, calculatetotalprice. Meskipun sangat kompak, ini sulit dibaca dan jarang digunakan kecuali untuk paket atau modul di mana konvensi melarang huruf kapital atau separator. Beberapa bahasa pemrograman dan sistem paket lebih baik flatcase (seperti nama paket npm), tetapi untuk kode, ini umumnya dihindari karena keterbacaan yang buruk. UPPERCASE adalah semua huruf kapital tanpa separator: GETUSERNAME, CALCULATETOTALPRICE. Seperti flatcase, ini memiliki masalah keterbacaan dan jarang digunakan kecuali untuk konstanta satu kata atau akronim (seperti API, URL, ID) di mana SCREAMING_SNAKE_CASE tidak diperlukan.

Konvensi Spesifik Bahasa

JavaScript dan TypeScript mengikuti konvensi yang jelas: camelCase untuk variabel dan fungsi (let userName, function calculateTotal()), PascalCase untuk class dan komponen (class UserAccount, function UserProfile()), SCREAMING_SNAKE_CASE untuk konstanta (const MAX_RETRIES = 3). Nama file biasanya kebab-case untuk komponen (user-profile.tsx) atau camelCase untuk utility (userHelpers.js), meskipun ini bervariasi berdasarkan framework dan preferensi tim. Python memiliki panduan gaya yang sangat terdefinisi dengan baik di PEP 8: snake_case untuk fungsi dan variabel (def get_user_name(), user_count = 10), PascalCase untuk class (class UserAccount), SCREAMING_SNAKE_CASE untuk konstanta (MAX_CONNECTIONS = 100). Nama modul harus huruf kecil pendek, lebih baik tanpa garis bawah jika memungkinkan (math, datetime). Komunitas Python sangat mengikuti konvensi ini, membuatnya mudah membaca kode Python dari berbagai proyek. Java dan C# memiliki konvensi serupa: camelCase untuk variabel dan parameter (String userName, int totalCount), PascalCase untuk class, interface, dan method (class UserAccount, interface IUserService, void GetUserData()). Perhatikan bahwa method di Java adalah camelCase (getUserName()) sementara di C# mereka PascalCase (GetUserName())—perbedaan penting jika bekerja di kedua bahasa. PHP menyajikan landscape campuran. Kode lama sering menggunakan snake_case (get_user_name()), sementara kode berorientasi objek modern mengikuti konvensi Java-like dengan camelCase untuk method dan PascalCase untuk class. Framework seperti Laravel menggunakan camelCase untuk method dan PascalCase untuk class. Dokumentasi resmi PHP sendiri inkonsisten secara historis, tetapi PSR (PHP Standards Recommendations) merekomendasikan camelCase untuk method dan PascalCase untuk class. Ruby menggunakan snake_case untuk method dan variabel (def get_user_name, user_count = 10), PascalCase untuk class dan modul (class UserAccount, module AuthenticationHelper), SCREAMING_SNAKE_CASE untuk konstanta (MAX_RETRIES = 3). Komunitas Ruby sangat konsisten dengan konvensi ini. Go memiliki aturan unik: nama yang diekspor (publik) dimulai dengan huruf kapital, nama yang tidak diekspor (privat) dimulai dengan huruf kecil. Ini berlaku untuk fungsi, tipe, dan variabel. Gaya umum adalah PascalCase untuk nama yang diekspor (func GetUserName()) dan camelCase untuk yang tidak diekspor (func calculateTotal()). Go juga menyukai nama yang lebih pendek—i untuk loop iterator, err untuk error. Rust menggunakan snake_case untuk fungsi dan variabel (fn get_user_name(), let user_count = 10), PascalCase untuk tipe dan trait (struct UserAccount, trait Serializable), SCREAMING_SNAKE_CASE untuk konstanta (const MAX_SIZE: usize = 100). Compiler Rust sebenarnya akan memperingatkan Anda jika Anda menyimpang dari konvensi ini.

Praktik Terbaik

Konsistensi adalah yang terpenting. Pilih konvensi yang sesuai untuk bahasa dan framework Anda, kemudian gunakan secara konsisten di seluruh codebase. Mixing camelCase dan snake_case secara acak membuat kode lebih sulit dibaca dan terlihat tidak profesional. Jika bergabung dengan proyek yang ada, ikuti konvensi yang mapan bahkan jika Anda pribadi lebih baik yang berbeda. Ikuti konvensi bahasa kecuali Anda memiliki alasan yang sangat bagus untuk tidak. Komunitas bahasa telah menetap pada konvensi ini untuk alasan yang bagus, dan mengikuti mereka membuat kode Anda familiar untuk developer lain. Jangan gunakan snake_case di JavaScript hanya karena Anda lebih baik—itu akan membingungkan kolaborator yang mengharapkan camelCase. Dokumentasikan konvensi penamaan Anda dalam panduan gaya atau dokumentasi kontribusi proyek. Ini sangat penting untuk proyek yang lebih besar atau open-source di mana banyak orang berkontribusi. Dokumentasi eksplisit mencegah argumen tentang gaya dan memastikan kontribusi baru mengikuti standar yang ada. Gunakan linter dan formatter untuk menegakkan konvensi secara otomatis. Tool seperti ESLint untuk JavaScript, Black untuk Python, atau rustfmt untuk Rust dapat secara otomatis memeriksa atau bahkan memperbaiki masalah penamaan. Ini menghapus beban kognitif mengingat aturan dan menangkap inkonsistensi dalam code review. Pertimbangkan keterbacaan di atas kedekatan. Meskipun getUserName lebih pendek dari getUserNameFromDatabase, yang terakhir lebih deskriptif. Jangan mengorbankan kejelasan untuk menghemat beberapa karakter. Editor modern memiliki autocomplete, jadi panjang mengetik kurang penting daripada kejelasan saat membaca. Untuk akronim, konsisten dengan bagaimana Anda meng-capitalize. Apakah calculateHTTPResponse atau calculateHttpResponse? Kedua yang valid, tetapi pilih satu pendekatan. Banyak style guide merekomendasikan memperlakukan akronim sebagai kata biasa di camelCase (calculateHttpResponse) untuk keterbacaan yang lebih baik. Nama file harus mengikuti konvensi yang konsisten. Untuk JavaScript/TypeScript, kebab-case untuk komponen (user-profile.tsx) atau camelCase untuk utility (userHelpers.js) keduanya umum—pilih satu. Untuk Python, snake_case dengan huruf kecil (user_account.py). Untuk Java, PascalCase cocok dengan nama class (UserAccount.java). Saat bekerja dengan database, ingat bahwa banyak sistem database tidak peka huruf besar/kecil atau memiliki aturan kutipan yang berbeda. snake_case adalah pilihan aman untuk nama tabel dan kolom karena bekerja secara universal tanpa kutipan. CamelCase dalam nama database sering memerlukan kutipan dan dapat menyebabkan kebingungan. Untuk URL dan endpoint API, kebab-case adalah standar yang paling umum (/api/user-profile, /blog/post-detail). URL peka huruf besar/kecil dan kebab-case menghindari masalah dengan sistem file yang tidak peka huruf besar/kecil dan terlihat bersih di browser.

Coba Alat

Converter Huruf Besar/Kecil

Converter Huruf Besar/Kecil

Pelajari Lebih Lanjut

FAQ

Converter Huruf Besar/Kecil

FAQ