Apa nama untuk case yang dipisahkan dengan tanda hubung?


509

Ini adalah PascalCase: SomeSymbol

Ini adalah camelCase: someSymbol

Ini adalah snake_case: some_symbol

Jadi pertanyaan saya adalah apakah ada nama yang diterima secara luas untuk ini some-symbol:? Ini biasa digunakan di url.


11
Tidak. Sebagian besar bahasa tidak mengizinkan pengidentifikasi seperti itu. Juga yang pertama disebut kasus Pascal.
Cat Plus Plus


14
@CatPlusPlus Lisp menggunakan kasing ini, dan karena Google memperlakukannya -sebagai spasi, hampir setiap URL ramah SEO juga menggunakannya.
lms

4
Saya percaya lebih umum untuk memanggil contoh pertama yang Anda berikan dengan nama PascalCase .
Drew Noakes

24
@CatPlusPlus 1) URL TIDAK tidak relevan dengan bahasa pemrograman. Mereka adalah salah satu bahasa pemrograman sumber daya yang paling sering digunakan. Beberapa bahasa bahkan memperlakukan URL sebagai objek kelas satu. Di Go, meski bukan kelas pertama, URL digunakan untuk mengimpor paket. 2) Dash-separated-string cukup umum di beberapa bahasa (keluarga LISP untuk satu), dan juga dalam bahasa anxilliary yang digunakan dalam pemrograman, seperti CSS. Apa itu "minoritas" bagi Anda, itu adalah bahasa yang digunakan orang lain untuk bekerja dan keluar. Kita tidak semua programmer VB6.
Hejazzman

Jawaban:


433

Sebenarnya tidak ada nama standar untuk konvensi kasus ini, dan ada ketidaksetujuan tentang apa yang seharusnya disebut.

Konon, hingga 2019, ada kasus kuat untuk dijadikan kasus kebab itu menang:

https://trends.google.com/trends/explore?date=all&q=kebab-case,spinal-case,lisp-case,dash-case,caterpillar-case

kasus tulang belakang adalah yang kedua, dan tidak ada istilah lain yang memiliki daya tarik sama sekali.

Selain itu, kasus kebab telah memasukkan leksikon dari beberapa pustaka kode javascript, misalnya:

Namun, masih ada istilah lain yang digunakan orang. Lisp telah menggunakan konvensi ini selama beberapa dekade seperti yang dijelaskan dalam entri Wikipedia ini , sehingga beberapa orang menggambarkannya sebagai case-lisp . Beberapa bentuk lain yang pernah saya lihat termasuk kasus ulat , kasus dash , dan kasus tanda hubung , tetapi tidak ada yang standar.

Jadi jawaban untuk pertanyaan Anda adalah: Tidak, tidak ada satu nama yang diterima secara luas untuk kasus ini konvensi analog dengan snake_case atau CamelCase , yang secara luas diterima.


118
Artikel wikipedia tertaut saat ini memiliki referensi yang menghubungkan kembali ke pertanyaan stack overflow ini ... khusus untuk pertanyaan kasus kebab. Mungkin menggunakan wikipedia sebagai sumber bukanlah ide yang cerdas.
Dequis

8
@ Beneee Akulah yang kamu rasa membantai salinan - untuk yang permintaan maaf. Perhatikan bahwa case-spinal / Train-Case ditambahkan ke Wikipedia pada 2012-10-07 tanpa referensi oleh pengguna anonim dari alamat IP tanpa riwayat Wikipedia lainnya. Saya tidak dapat menemukan bukti lain untuk istilah-istilah yang tidak secara sirkular kembali ke Wikipedia. Di sisi lain, saya merasa pertanyaan StackOverflow ini menawarkan bukti bahwa kasus kebab memiliki komunitas pengguna yang tidak bergantung pada sesuatu yang dimasukkan ke dalam artikel Wikipedia tanpa bukti. Saya harap itu cukup untuk menghindari biaya penelitian asli.
Robert Tupelo-Schneck

7
Saya tergoda untuk menghapus kasus tulang belakang dan Kasus Kereta sepenuhnya (kemungkinan vandalisme); tetapi mungkin vandalisme Wikipedia yang sudah berlangsung lama benar-benar dapat menciptakan bukti untuk dirinya sendiri. Sepertinya itulah yang terjadi di sini.
Robert Tupelo-Schneck

11
Saya suka "catipillar-case" karena itu diperas dan kemudian panjang, dan terus dengan tema hewan
RenaissanceProgrammer

55
kebab-case-
so

464

Ini disebut sebagai kasus kebab . Lihat dokumen doc .


190
Inilah rujukan , yang menjadikannya resmi;)
Andreas

13
Berikut referensi lain: github.com/qerub/camel-snake-kebab ;)
qerub

11
Rekursi dalam referensi berarti jauh lebih mirip Lisp.
Michael Della Bitta

140
Saya memilih jawaban ini bukan karena saya percaya itu jawaban yang tepat, tetapi karena saya ingin jawaban itu benar.
Jason Swett

43
Saya suka citogenesis yang terjadi di sini. Jawaban ini menghubungkan ke lodash yang menautkan ke wikipedia yang menautkan ke jawaban ini!
gilly3

37

Ini juga kadang-kadang dikenal sebagai ulat


61
Kandang ulat jauh lebih masuk akal daripada kantung kebab, karena unta, ular, dan ulat adalah semua jenis makhluk hidup sedangkan kebab tidak.
Daira Hopwood


4
Karena "ulat" memiliki empat suku kata sedangkan "kebab", "tanda hubung" dan "tanda hubung" memiliki satu atau dua, saya pikir berdebat tentang kasus ulat adalah pertempuran yang kalah
Ninjakannon

1
"kasus ulat" terlalu panjang untuk menjadi nama kasus, saya pikir "kasus cacing" akan menjadi pilihan yang lebih baik. : D
Bahattin Ungormus

5
@DairaHopwood sepenuhnya setuju .. Pascal juga makhluk hidup.
nawfal


12

Karena karakter (-) disebut sebagai "tanda hubung" atau "tanda hubung", tampaknya lebih alami untuk memberi nama " tanda hubung " ini, atau " tanda hubung " " (kurang sering digunakan).

Seperti disebutkan di Wikipedia , " kebab-case " juga digunakan. Rupanya (lihat jawaban ) ini karena karakternya akan terlihat seperti tusuk sate ... Perlu imajinasi.
Digunakan dalam lodash lib misalnya.

Baru-baru ini, " dash-case " digunakan oleh


6
Kasus kebab mengacu pada shish-kebab lebih dari pada kebab döner jika itu bisa membantu.
Alper

10

Saya selalu menyebutnya, dan mendengarnya disebut, 'dasbor.'


21
Itu akan selamanya dikenal sebagai Dashy McDash Case
colllin

15
@ Colllin Saya pikir maksud Anda dashy-mcdash-case;)
siguy85

7

Daftar lengkap setelah beberapa penelitian:

  • Kasing kebab
  • Wadah ulat
  • Kasus dasbor
  • Kotak tanda hubung
  • Kasing kasus
  • Kasus tulang belakang
  • Kasus CSS

6

Tidak ada nama standar.

Perpustakaan seperti jquery dan lodash menyebutnya sebagai kebab-case. Begitu juga kerangka kerja javascript Vuejs . Namun, saya tidak yakin apakah aman untuk menyatakan bahwa itu disebut kebab-casedalam dunia javascript.


Seperti ini jika Anda datang ke sini dari Vuejs docs
a20

5

Saya hanya mengatakan bahwa itu ditulis dgn tanda penghubung .


8
Tanda hubung mungkin jawaban yang baik untuk pertanyaan bahasa Inggris, tetapi untuk kode itu tidak cukup spesifik. Misalnya, dalam kebab-casesemua huruf adalah huruf kecil.
rybo111



2

Berikut adalah discombobulation yang lebih baru. Dokumentasi di mana-mana dalam mata pelajaran JS dan Pluralsight dan buku-buku tentang sudut, semua merujuk pada kasus kebab sebagai kasus ular, tidak membedakan keduanya.

Kasus ulat bulu yang terlalu buruk tidak menempel karena snake_case dan ulat bulu mudah diingat dan benar-benar terlihat seperti apa yang mereka wakili (jika Anda memiliki imajinasi yang baik).


1

Proposal ECMAScript saya untuk String.prototype.toKebabCase.

String.prototype.toKebabCase = function () {
  return this.valueOf().replace(/-/g, ' ').split('')
    .reduce((str, char) => char.toUpperCase() === char ?
      `${str} ${char}` :
      `${str}${char}`, ''
    ).replace(/ * /g, ' ').trim().replace(/ /g, '-').toLowerCase();
}

ada tanggapan terhadap proposal?
nxmohamad

ada tanggapan terhadap tanggapan Anda?
Dane Brouwer
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.