Jak nazywa się wielkość liter rozdzielanych łącznikiem?

509

To jest PascalCase: SomeSymbol

To jest camel someSymbol

To jest snake_case: some_symbol

Moje pytania brzmią więc, czy istnieje powszechnie przyjęta nazwa some-symbol:? Jest powszechnie używany w adresach URL.

lms
źródło
11
Nie. Większość języków nie pozwala na takie identyfikatory. Również pierwszy nazywa się przypadkiem Pascala.
Cat Plus Plus
14
@CatPlusPlus Lisp używa tego przypadku, a ponieważ Google traktuje -jako spację, używa go prawie każdy przyjazny dla SEO adres URL.
lms
4
Uważam, że bardziej powszechne jest nazywanie pierwszego przykładu, który podajesz, nazwą PascalCase .
Drew Noakes
24
@CatPlusPlus 1) Adresy URL NIE są bez znaczenia dla języków programowania. Są jednym z najczęściej używanych języków programowania zasobów. Niektóre języki traktują nawet adresy URL jako obiekt pierwszej klasy. W Go, chociaż nie jest to pierwsza klasa, adresy URL są używane do importowania pakietów. 2) Ciąg rozdzielany myślnikiem jest dość powszechny w kilku językach (dla jednej rodziny LISP), a także w językach pomocniczych używanych w programowaniu, takich jak CSS. Czym dla ciebie jest „mniejszość”, to język, w który inni pracują każdego dnia. Nie wszyscy jesteśmy programistami VB6.
Hejazzman,

Odpowiedzi:

433

Tak naprawdę nie ma standardowej nazwy dla tej konwencji przypadków i nie ma zgody co do tego, jak należy ją nazwać.

To powiedziawszy, od 2019 r. Należy przekonać się, że skrzynka kebab wygrywa:

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

rdzeń kręgowy jest odległą sekundą i żadne inne warunki nie mają żadnej przyczepności.

Dodatkowo skrzynia kebab wszedł do leksykonu kilku bibliotek kodów javascript, np .:

Istnieją jednak inne warunki, z których ludzie korzystają. Lisp używa tej konwencji od dziesięcioleci, jak opisano w tym wpisie w Wikipedii , więc niektórzy opisali ją jako przypadek lisp . Niektóre inne formy, które widziałem, to skrzynia gąsienicowa , skrzynia rozdzielcza i łącznik , ale żadna z nich nie jest standardowa.

Odpowiedź na twoje pytanie brzmi: nie, nie ma jednej powszechnie akceptowanej nazwy dla tej konwencji przypadków analogicznej do snake_case lub camelCase , które są powszechnie akceptowane.

Ben Lee
źródło
117
W linkowanym artykule na Wikipedii znajduje się obecnie odnośnik, który prowadzi do pytania o przepełnienie stosu ... w szczególności do pytania o przypadek kebabu. Może użycie wikipedii jako źródła nie było mądrym pomysłem.
dequis
8
@BenLee Jestem tą, którą poczułeś zarzynając kopię - za co przepraszam. Zwróć uwagę, że przypadek kręgosłupa / Sprawa pociągu został dodany do Wikipedii w dniu 07.10.2012 bez odwołania przez anonimowego użytkownika z adresu IP bez innej historii Wikipedii. Nie mogłem znaleźć żadnego innego dowodu na te hasła, które nie wracały do ​​Wikipedii. Z drugiej strony czułem, że pytanie StackOverflow dostarczyło dowodów na to, że kebab-case ma społeczność użytkowników, która nie jest zależna od czegoś wpisanego w artykuł Wikipedii bez dowodów. Mam nadzieję, że to wystarczy, aby uniknąć oryginalnej opłaty za badania.
Robert Tupelo-Schneck
7
Kusiło mnie, aby całkowicie usunąć skrzynię kręgosłupa i skrzynię pociągu (prawdopodobnie wandalizm); ale może wieloletni wandalizm w Wikipedii może sam stworzyć dowody. Wydaje się, że tak właśnie się stało.
Robert Tupelo-Schneck
11
Podoba mi się „futerał na katiparony”, ponieważ jest on ściśnięty, a następnie długi i trzyma się motywu zwierzęcego
RenaissanceProgrammer
55
kebab-case-ponieważ-wygląda-jak-te-słowa są wypaczone-na-
kebabie
464

Jest to określane jako skrzynia kebab . Zobacz dokumenty Lodash .

jwfearn
źródło
190
Oto odniesienie , które czyni go oficjalnym;)
Andreas
13
Oto kolejne odniesienie: github.com/qerub/camel-snake-kebab ;)
qerub
11
Rekurencja w referencji oznacza, że ​​jest ona znacznie bardziej podobna do Lisp.
Michael Della Bitta
140
Poparłem tę odpowiedź nie dlatego, że uważam ją za właściwą, ale dlatego, że chcę, aby była poprawna.
Jason Swett
43
Uwielbiam toczącą się tutaj cytogenezę . Ta odpowiedź prowadzi do lodash, który prowadzi do wikipedii, która prowadzi do tej odpowiedzi!
gilly3
37

Czasami jest również znany jako gąsienica

tim_yates
źródło
61
gąsienica ma znacznie większy sens niż skrzynka z kebabem, ponieważ wielbłądy, węże i gąsienice są wszelkiego rodzaju żywymi stworzeniami, podczas gdy kebab nie.
Daira Hopwood
26
@DairaHopwood cs.helsinki.fi/u/hhallama/pics/kebabelain.jpg
mikemaccana
4
Ponieważ „gąsienica” ma cztery sylaby, podczas gdy „kebab”, „myślnik” i „myślnik” mają jeden lub dwa, myślę, że walka o gąsienicę to przegrana bitwa
Ninjakannon
1
„gąsienica” jest zbyt długa, aby nazywać się nią, myślę, że „skrzynia robaka” byłaby lepszym wyborem. : D
Bahattin Ungormus
5
@DairaHopwood w pełni się zgadza .. Pascal był także żywym stworzeniem.
nawfal
16

Dodanie poprawnego linku tutaj Kebab Case

czyli wszystkie małe litery z - oddzielającymi słowami.

użytkownik666
źródło
12

Ponieważ znak (-) jest określany jako „myślnik” lub „myślnik”, bardziej naturalne wydaje się nazwanie tego „ myślnika ” lub „ myślnika ” (rzadziej używanym).

Jak wspomniano w Wikipedii , używany jest również „ kebab-case ”. Najwyraźniej (patrz odpowiedź ) dzieje się tak, ponieważ postać wyglądałaby jak szpikulec ... Potrzebuje jednak wyobraźni.
Używany na przykład w lodash lib .

Ostatnio „ dash-case ” był używany przez

Guillaume Husta
źródło
6
Przypadek kebab odnosi się bardziej do shish-kebab niż do döner kebab, jeśli jest to jakaś pomoc.
Alper
10

Zawsze to nazywałem i słyszałem, jak to się nazywa „dashcase”.

Mike Campbell
źródło
21
Na zawsze będzie znany jako Dashy McDash Case
colllin
15
@colllin Myślę, że masz na myśli dashy-mcdash-case;)
siguy85
7

Pełna lista po niektórych badaniach:

  • Obudowa Kebab
  • Skrzynia Caterpillar
  • Skrzynia Dash
  • Skrzynka z łącznikiem
  • Sprawa Lisp
  • Obudowa kręgosłupa
  • Skrzynka CSS
Shadi Namrouti
źródło
6

Nie ma znormalizowanej nazwy.

Biblioteki takie jak jquery i lodash nazywają to kebab-case. Podobnie jak framework javascript Vuejs . Nie jestem jednak pewien, czy bezpiecznie jest zadeklarować, że jest tak nazywany kebab-casew świecie javascript.

Gaurang Patel
źródło
Tak jeśli przyszedł tu z docs Vuejs
a20
5

Powiedziałbym po prostu, że został podzielony .

Jem Marsh
źródło
8
Dzielony wyraz może być dobrą odpowiedzią na angielskie pytanie, ale w przypadku kodu nie jest wystarczająco szczegółowy. Na przykład kebab-casewszystkie litery są małe.
rybo111
2

Oto najnowsza dyskombulacja. Dokumentacja wszędzie w kątowych kursach JS i Pluralsight oraz książki o kątach, wszystkie odnoszą się do skrzynki kebabowej jako skrzynki węża, nie rozróżniając tych dwóch.

Jego kiepska gąsienica nie przykleiła się, ponieważ walizka węża i gąsienica są łatwe do zapamiętania i faktycznie wyglądają tak, jak przedstawiają (jeśli masz dobrą wyobraźnię).

Wray Smallwood
źródło
1

Moja propozycja ECMAScript dla 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
źródło
jakaś odpowiedź na propozycję?
nxmohamad
jakaś odpowiedź na twoją odpowiedź?
Dane Brouwer