Kebab case — atau kebab-case — adalah konvensi penamaan variabel pemrograman di mana seorang pengembang menggantikan spasi antara kata-kata dengan tanda hubung.
Nama variabel pemrograman harus deskriptif. Dua kata atau lebih sering dibutuhkan untuk menyampaikan makna sumber daya dengan tepat. Namun, sebagian besar bahasa pemrograman tidak mengizinkan spasi di antara kata-kata.
Konvensi penamaan kebab case mencoba mengatasi keterbatasan ini dengan menggantikan spasi antara kata dengan tanda hubung.
Istilah ini berasal dari gambaran terkait tusuk sate dalam kebab. Tusuk sate menusuk beberapa potong makanan bersama-sama pada sate. Dalam kode, tanda hubung mewakili tusuk sate dan menjaga beberapa kata bersama untuk menggambarkan makna sumber daya, seperti sate.
Contoh kebab case
Berikut adalah tiga contoh dari konvensi penamaan kebab case:
- descriptive-variable-name
- INTERESTING-TEXT-FILE
- naming-conventions-webpage
Kebab case vs. snake case
Kebab case adalah konvensi penamaan yang mirip dengan snake case — atau snake_case. Kedua konvensi ini membantu pengembang membaca kode karena spasi putih — baik tanda hubung dalam kebab case atau garis bawah dalam snake case — antara kata-kata terbaca seperti kalimat biasa.
Snake case lebih kontras dengan konvensi penamaan CamelCase. Dalam CamelCase, spasi dihapus antara kata-kata gabungan. Ia menggantikan tanda hubung atau garis bawah dengan huruf kapital untuk mewakili awal kata berikutnya. Misalnya:
- snake_case_example
- CamelCaseExample
- kebab-case-example
Scream kebabs
Jika seorang pengembang menggunakan huruf kapital semua dalam variabel dengan konvensi kebab case, itu dikenal sebagai scream kebab. Istilah ini berasal dari pemikiran bahwa ketika orang di media sosial mengetik kalimat dengan huruf kapital, mereka sedang berteriak. Misalnya:
- THIS-IS-A-SCREAM-KEBAB
- this-is-not-a-scream-kebab
Masalah dengan kebab case
Masalah terbesar dengan kebab case terutama terletak pada penggunaan tanda hubung. Banyak bahasa pemrograman yang akan mengartikan tanda hubung sebagai tanda minus, dan ini secara tidak sengaja menciptakan bug perangkat lunak yang sulit diisolasi dan dipecahkan.
Demikian juga, banyak bahasa pemrograman — seperti Jekyll — akan menganggap angka yang dipisahkan tanda hubung adalah tanggal. Salah tafsir ini bisa menyebabkan masalah ketika seorang pengembang menggunakan kebab case dengan aplikasi spreadsheet atau berbasis kalender.
Dalam komunitas pengembangan perangkat lunak, snake case umumnya adalah konvensi penamaan yang lebih disukai. Snake case menciptakan spasi putih maksimum antara kata-kata gabungan dalam variabel dengan garis bawah.
Meskipun kebab case bisa berguna, seorang pengembang harus sadar bahwa tanda hubung dapat menyebabkan masalah yang tidak disengaja dengan kode non-huruf.