Wie heißt der durch Bindestriche getrennte Fall?

509

Dies ist PascalCase: SomeSymbol

Das ist camelCase: someSymbol

Das ist snake_case: some_symbol

Meine Frage ist also, ob es dafür einen allgemein akzeptierten Namen gibt : some-symbol? Es wird häufig in URLs verwendet.

lms
quelle
11
Nein. In den meisten Sprachen sind solche Bezeichner nicht zulässig. Auch der erste heißt Pascal-Fall.
Cat Plus Plus
14
@CatPlusPlus Lisp verwendet diesen Fall. Da Google a -als Leerzeichen behandelt, wird es auch von fast jeder SEO-freundlichen URL verwendet.
lms
4
Ich glaube, es ist üblicher, das erste Beispiel, das Sie geben, mit dem Namen PascalCase zu bezeichnen .
Drew Noakes
24
@CatPlusPlus 1) URLs sind für Programmiersprachen NICHT irrelevant. Sie sind eine der am häufigsten verwendeten Ressourcenprogrammiersprachen. Einige Sprachen behandeln URLs sogar als erstklassiges Objekt. In Go werden URLs zum Importieren von Paketen verwendet, obwohl sie nicht erstklassig sind. 2) Die durch Striche getrennte Zeichenfolge ist in mehreren Sprachen (die LISP-Familie für eine) und auch in in der Programmierung verwendeten Angstsprachen wie CSS weit verbreitet. Was für Sie eine "Minderheit" ist, ist die Sprache, in der andere Tag für Tag arbeiten. Wir sind nicht alle VB6-Programmierer.
Hejazzman

Antworten:

433

Es gibt keinen Standardnamen für diese Fallkonvention, und es gibt Meinungsverschiedenheiten darüber, wie sie genannt werden sollte.

Ab 2019 gibt es jedoch ein starkes Argument dafür, dass der Kebab-Fall gewinnt:

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

Wirbelsäulenfall ist eine entfernte Sekunde, und keine anderen Begriffe haben überhaupt eine Traktion.

Zusätzlich hat kebab-case das Lexikon mehrerer Javascript-Codebibliotheken betreten, z.

Es gibt jedoch noch andere Begriffe, die Menschen verwenden. Lisp verwendet diese Konvention seit Jahrzehnten, wie in diesem Wikipedia-Eintrag beschrieben , daher haben einige Leute sie als Lisp-Fall beschrieben . Einige andere Formen, die ich gesehen habe, umfassen Raupen- , Strich- und Bindestrichfall , aber keine davon ist Standard.

Die Antwort auf Ihre Frage lautet also: Nein, es gibt keinen einzigen allgemein akzeptierten Namen für diese Fallkonvention analog zu snake_case oder camelCase , die allgemein akzeptiert werden.

Ben Lee
quelle
118
Der verlinkte Wikipedia-Artikel enthält derzeit einen Verweis, der auf diese Stapelüberlauffrage verweist ... speziell auf die Kebab-Fallfrage. Vielleicht war es keine kluge Idee, Wikipedia als Quelle zu verwenden.
Dequis
8
@ BenLee Ich bin derjenige, von dem du glaubst, dass er die Kopie geschlachtet hat - wofür ich mich entschuldige. Beachten Sie, dass Spinal-Case / Train-Case am 07.10.2012 ohne Bezugnahme eines anonymen Benutzers von einer IP-Adresse ohne anderen Wikipedia-Verlauf zu Wikipedia hinzugefügt wurden. Ich konnte keine anderen Beweise für diese Begriffe finden, die nicht zirkulär auf Wikipedia zurückgingen. Andererseits hatte ich das Gefühl, dass diese StackOverflow-Frage Beweise dafür liefert, dass Kebab-Case eine Community von Benutzern hat, die nicht von etwas abhängt, das ohne Beweise in einen Wikipedia-Artikel eingegeben wurde. Ich hoffe, das reicht aus, um die ursprüngliche Forschungsgebühr zu vermeiden.
Robert Tupelo-Schneck
7
Ich war versucht, Wirbelsäulen- und Zugfall vollständig zu entfernen (als wahrscheinlicher Vandalismus); Aber vielleicht kann der langjährige Wikipedia-Vandalismus tatsächlich Beweise für sich selbst schaffen. Das scheint hier passiert zu sein.
Robert Tupelo-Schneck
11
Ich mag "catipillar-case", da es gequetscht und dann lang ist, und halte mich an das Tiermotiv
RenaissanceProgrammer
55
Kebab-Fall-weil-es-aussieht-wie-die-Wörter-sind-auf-einem-Kebab aufgespießt
Aaron_H
464

Es wird als Kebab-Fall bezeichnet . Siehe lodash docs .

jwfearn
quelle
190
Hier ist eine Referenz , die es offiziell macht;)
Andreas
13
Hier ist eine weitere Referenz: github.com/qerub/camel-snake-kebab ;)
Qerub
11
Die Rekursion in der Referenz bedeutet, dass es viel mehr Lisp-artig ist.
Michael Della Bitta
140
Ich habe diese Antwort nicht positiv bewertet, weil ich glaube, dass sie die richtige ist, sondern weil ich möchte, dass sie die richtige ist.
Jason Swett
43
Ich liebe die Citogenese , die hier vor sich geht. Diese Antwort verweist auf lodash, die auf Wikipedia verweist, die auf diese Antwort verweist !
Gilly3
37

Es ist auch manchmal als Raupenkoffer bekannt

tim_yates
quelle
61
Raupenkoffer ist viel sinnvoller als Kebabkoffer, da Kamele, Schlangen und Raupen alle Arten von Lebewesen sind, während ein Kebab dies nicht ist.
Daira Hopwood
26
@DairaHopwood cs.helsinki.fi/u/hhallama/pics/kebabelain.jpg
Mikemaccana
4
Da "Raupe" vier Silben hat, während "Kebab", "Bindestrich" und "Bindestrich" eine oder zwei haben, denke ich, dass das Argumentieren für eine Raupe ein verlorener Kampf ist
Ninjakannon,
1
"Caterpillar-Case" ist zu lang, um ein Fallname zu sein. Ich denke, "Worm-Case" wäre eine bessere Wahl. : D
Bahattin Ungormus
5
@DairaHopwood stimme voll und ganz zu. Pascal war auch ein Lebewesen.
Nawfal
16

Hier den richtigen Link hinzufügen Kebab Case

Das ist alles Kleinbuchstaben mit - trennenden Wörtern.

user666
quelle
12

Da das Zeichen (-) als "Bindestrich" oder "Bindestrich" bezeichnet wird, erscheint es natürlicher, diesen " Bindestrich " oder " Bindestrich " (weniger häufig) zu nennen.

Wie in Wikipedia erwähnt , wird auch " Kebab-Fall " verwendet. Anscheinend (siehe Antwort ) liegt dies daran, dass der Charakter wie ein Spieß aussehen würde ... Es bedarf allerdings einiger Fantasie.
Wird zum Beispiel in lodash lib verwendet .

Kürzlich wurde " Dash-Case " von verwendet

Guillaume Husta
quelle
6
Der Kebab-Fall bezieht sich mehr auf Schaschlik als auf Döner-Kebab, wenn dies hilfreich ist.
Alper
10

Ich habe es immer genannt und gehört, dass es "Dashcase" genannt wird.

Mike Campbell
quelle
21
Es wird für immer als Dashy McDash Case bekannt sein
Colllin
15
@colllin Ich denke du meinst dashy-mcdash-case;)
siguy85
7

Die vollständige Liste nach einigen Recherchen:

  • Kebab Fall
  • Caterpillar Fall
  • Dash Fall
  • Bindestrich
  • Lisp Fall
  • Wirbelsäulenfall
  • CSS-Fall
Shadi Namrouti
quelle
6

Es gibt keinen standardisierten Namen.

Bibliotheken wie jquery und lodash bezeichnen es als kebab-case. Das Gleiche gilt für Vuejs JavaScript - Framework. Ich bin mir jedoch nicht sicher, ob es sicher ist zu erklären, dass es kebab-casein der Javascript-Welt verwendet wird.

Gaurang Patel
quelle
So, wenn Sie von Vuejs Docs hierher gekommen sind
a20
5

Ich würde einfach sagen , dass es wurde Bindestrich .

Jem Marsh
quelle
8
Bindestrich mag eine gute Antwort auf eine englische Frage sein, aber für Code ist er nicht spezifisch genug. Zum Beispiel sind in kebab-caseallen Buchstaben Kleinbuchstaben.
Rybo111
2

Hier ist eine neuere Discombobulation. Dokumentation überall in eckigen JS- und Pluralsight-Kursen und Büchern über eckige, alle beziehen sich auf Kebab-Fall als Schlangen-Fall, ohne zwischen den beiden zu unterscheiden.

Es ist schade, dass der Raupenkoffer nicht klebte, weil snake_case und der Raupenkoffer leicht zu merken sind und tatsächlich so aussehen, wie sie darstellen (wenn Sie eine gute Vorstellungskraft haben).

Wray Smallwood
quelle
1

Mein ECMAScript-Vorschlag für 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
quelle
eine Antwort auf den Vorschlag?
Nxmohamad
eine Antwort auf Ihre Antwort?
Dane Brouwer