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.