Quel est le nom du cas séparé par des tirets?


509

Voici PascalCase: SomeSymbol

Voici camelCase: someSymbol

Voici snake_case: some_symbol

Donc, ma question est de savoir s'il existe un nom largement accepté pour cela some-symbol:? Il est couramment utilisé dans les URL.


11
Non. La plupart des langues ne permettent pas de tels identifiants. Le premier est également appelé cas Pascal.
Cat Plus Plus


14
@CatPlusPlus Lisp utilise ce cas, et comme Google traite un -comme un espace, presque toutes les URL optimisées pour le référencement l'utilisent également.
lms

4
Je pense qu'il est plus courant d'appeler le premier exemple que vous donnez sous le nom de PascalCase .
Drew Noakes

24
@CatPlusPlus 1) Les URL ne sont PAS sans rapport avec les langages de programmation. Ils sont l'un des langages de programmation de ressources les plus utilisés. Certaines langues traitent même les URL comme un objet de première classe. Dans Go, bien que n'étant pas de première classe, les URL sont utilisées pour importer des packages. 2) La chaîne séparée par des tirets est assez courante dans plusieurs langages (la famille LISP pour un), ainsi que dans les langages anxillaires utilisés en programmation, comme CSS. Qu'est-ce qu'une "minorité" pour vous, c'est la langue dans laquelle les autres travaillent quotidiennement. Nous ne sommes pas tous des programmeurs VB6.
Hejazzman

Réponses:


433

Il n'y a pas vraiment de nom standard pour cette convention de cas, et il y a désaccord sur son nom.

Cela dit, à partir de 2019, il y a de fortes raisons de prouver que le kebab-case gagne:

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

la colonne vertébrale est une seconde éloignée, et aucun autre terme n'a de traction du tout.

De plus, kebab-case est entré dans le lexique de plusieurs bibliothèques de code javascript, par exemple:

Cependant, il existe encore d'autres termes que les gens utilisent. Lisp a utilisé cette convention pendant des décennies comme décrit dans cette entrée Wikipédia , donc certaines personnes l'ont décrite comme un casse-tête . D'autres formes que j'ai vu notamment la chenille cas , le tableau de bord cas et trait d' union cas , mais aucun d' entre eux est standard.

La réponse à votre question est donc: Non, il n'y a pas un seul nom largement accepté pour cette convention de cas, analogue à snake_case ou camelCase , qui sont largement acceptés.


118
L'article wikipedia lié a actuellement une référence qui renvoie à cette question de débordement de pile ... spécifiquement à la question du cas de kebab. Peut-être que l'utilisation de wikipedia comme source n'était pas une idée intelligente.
dequis

8
@BenLee Je suis celui que tu as senti massacré la copie - pour quelles excuses. Notez que spinal-case / Train-Case ont été ajoutés à Wikipedia le 2012-10-07 sans référence par un utilisateur anonyme à partir d'une adresse IP sans autre historique de Wikipedia. Je n'ai trouvé aucune autre preuve de ces termes qui ne soient pas retournés de façon circulaire sur Wikipedia. D'un autre côté, je pensais que cette question StackOverflow offrait des preuves que kebab-case a une communauté d'utilisateurs qui ne dépend pas de quelque chose entré dans un article Wikipedia sans preuve. J'espère que cela suffit pour éviter les frais de recherche originaux.
Robert Tupelo-Schneck

7
J'ai été tenté de supprimer complètement le cas de la colonne vertébrale et le cas du train (comme du vandalisme probable); mais peut-être que le vandalisme de longue date sur Wikipedia peut en fait créer des preuves. C'est ce qui semble s'être produit ici.
Robert Tupelo-Schneck

11
J'aime le "boîtier catipillaire" car il est écrasé puis long, et reste sur le thème des animaux
RenaissanceProgrammer

55
kebab-case-car it-looks-like-the-words-are skewered-on-a-kebab
Aaron_H

464

C'est ce qu'on appelle l' étui à kebab . Voir les documents lodash .


190
Voici une référence , qui le rend officiel;)
Andreas

13
Voici une autre référence: github.com/qerub/camel-snake-kebab ;)
qerub

11
La récursivité dans la référence signifie que c'est beaucoup plus semblable à Lisp.
Michael Della Bitta

140
J'ai voté pour cette réponse non pas parce que je pense que c'est la bonne, mais parce que je veux que ce soit la bonne.
Jason Swett

43
J'adore la citogenèse qui se passe ici. Cette réponse renvoie à lodash qui renvoie à wikipedia qui renvoie à cette réponse!
gilly3

37

Il est également parfois appelé cas de chenille


61
l'étui à chenilles a beaucoup plus de sens que l'étui à kebab, car les chameaux, les serpents et les chenilles sont toutes sortes de créatures vivantes alors qu'un kebab ne l'est pas.
Daira Hopwood


4
Comme "chenille" a quatre syllabes alors que "kebab", "tiret" et "trait d'union" en ont une ou deux, je pense que défendre l'argument caterpillar est une bataille perdue
Ninjakannon

1
"caterpillar-case" est trop long pour être un nom de cas, je pense que "worm-case" serait un meilleur choix. : D
Bahattin Ungormus

5
@DairaHopwood est entièrement d'accord .. Pascal était aussi une créature vivante.
nawfal


12

Comme le caractère (-) est appelé "trait d'union" ou "tiret", il semble plus naturel de nommer ce " tiret-cas " ou " trait d'union " (moins fréquemment utilisé).

Comme mentionné dans Wikipédia , le " boîtier kebab " est également utilisé. Apparemment (voir la réponse ), c'est parce que le personnage ressemblerait à une brochette ... Mais il a besoin d'un peu d'imagination.
Utilisé dans lodash lib par exemple.

Récemment, " dash-case " a été utilisé par


6
Le cas du kebab fait plus référence au shish-kebab qu'au döner kebab si cela peut vous aider.
Alper

10

Je l'ai toujours appelé, et j'ai entendu l'appeler «tableau de bord».


21
Elle sera toujours connue sous le nom de Dashy McDash Case
colllin

15
@colllin Je pense que vous voulez dire dashy-mcdash-case;)
siguy85

7

La liste complète après quelques recherches:

  • Étui à kebab
  • Étui Caterpillar
  • Boîtier de tableau de bord
  • Cas de trait d'union
  • Cas Lisp
  • Cas de la colonne vertébrale
  • Cas CSS

6

Il n'y a pas de nom normalisé.

Les bibliothèques comme jquery et lodash le désignent comme kebab-case. Il en va de même pour le framework javascript de Vuejs . Cependant, je ne sais pas s'il est sûr de déclarer qu'il est référencé comme kebab-casedans le monde javascript.


Comme ça si vous êtes venu ici depuis les documents de Vuejs
a20

5

Je dirais simplement que c'était coupé .


8
La césure peut être une bonne réponse à une question en anglais, mais pour le code, ce n'est pas assez précis. Par exemple, kebab-casetoutes les lettres sont en minuscules.
rybo111



2

Voici une discombobulation plus récente. La documentation partout dans les cours JS et Pluralsight angulaires et les livres sur l'angulaire, tous se réfèrent au cas du kebab comme au cas du serpent, sans faire de différence entre les deux.

Son trop mauvais boîtier de chenille n'a pas collé car snake_case et le boîtier de chenille sont faciles à retenir et ressemblent en fait à ce qu'ils représentent (si vous avez une bonne imagination).


1

Ma proposition ECMAScript pour 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();
}

une réponse à la proposition?
nxmohamad

une réponse à votre réponse?
Dane Brouwer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.