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.


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.


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 .


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


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


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.


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


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.


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

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.


So, wenn Sie von Vuejs Docs hierher gekommen sind
a20

5

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


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


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

eine Antwort auf den Vorschlag?
Nxmohamad

eine Antwort auf Ihre Antwort?
Dane Brouwer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.