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.

lms
sumber
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.

Ben Lee
sumber
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 .

jwfearn
sumber
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

tim_yates
sumber
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
26
@DairaHopwood cs.helsinki.fi/u/hhallama/pics/kebabelain.jpg
mikemaccana
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
16

Menambahkan tautan yang benar di sini Kebab Case

yang semuanya huruf kecil dengan - memisahkan kata-kata.

pengguna666
sumber
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

Guillaume Husta
sumber
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.'

Mike Campbell
sumber
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
Shadi Namrouti
sumber
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.

Gaurang Patel
sumber
Seperti ini jika Anda datang ke sini dari Vuejs docs
a20
5

Saya hanya mengatakan bahwa itu ditulis dgn tanda penghubung .

Jem Marsh
sumber
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).

Wray Smallwood
sumber
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();
}
Christoph Bühler
sumber
ada tanggapan terhadap proposal?
nxmohamad
ada tanggapan terhadap tanggapan Anda?
Dane Brouwer