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.


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.


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 .


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


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


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


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


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”.


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

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.


Tak jeśli przyszedł tu z docs Vuejs
a20

5

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


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ę).


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();
}

jakaś odpowiedź na propozycję?
nxmohamad

jakaś odpowiedź na twoją odpowiedź?
Dane Brouwer
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.