Qual è il nome del caso separato da trattino?


509

Questo è PascalCase: SomeSymbol

Questo è camelCase: someSymbol

Questo è snake_case: some_symbol

Quindi la mia domanda è se esiste un nome ampiamente accettato per questo some-symbol:? È comunemente usato in url.


11
No. La maggior parte delle lingue non consente tali identificatori. Anche il primo si chiama caso Pascal.
Cat Plus Plus,


14
@CatPlusPlus Lisp usa questo caso, e poiché Google considera -uno spazio come uno spazio, quasi tutti gli URL SEO friendly lo usano anche.
LMS

4
Credo che sia più comune chiamare il primo esempio che dai con il nome PascalCase .
Drew Noakes,

24
@CatPlusPlus 1) Gli URL NON sono irrilevanti per i linguaggi di programmazione. Sono uno dei linguaggi di programmazione delle risorse più frequenti. Alcune lingue trattano persino gli URL come oggetti di prima classe. In Go, sebbene non di prima classe, gli URL vengono utilizzati per l'importazione di pacchetti. 2) La stringa trattata separatamente è abbastanza comune in diverse lingue (la famiglia LISP per una), e anche nei linguaggi annessi utilizzati nella programmazione, come i CSS. Che cosa è una "minoranza" per te, è la lingua che gli altri lavorano giorno dopo giorno. Non siamo tutti programmatori VB6.
Hejazzman,

Risposte:


433

Non esiste davvero un nome standard per questa convenzione del caso e non vi è accordo su come dovrebbe essere chiamato.

Detto questo, a partire dal 2019, c'è un caso forte da fare che il caso kebab sta vincendo:

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

il caso spinale è un secondo distante, e nessun altro termine ha alcuna trazione.

Inoltre, custodia per kebab è entrato nel lessico di diverse librerie di codici javascript, ad esempio:

Tuttavia, ci sono ancora altri termini che le persone usano. Lisp ha usato questa convenzione per decenni come descritto in questa voce di Wikipedia , quindi alcune persone l'hanno descritta come caso lisp . Alcune altre forme che ho visto includono caterpillar-case , dash-case e trattino-caso , ma nessuno di questi è standard.

Quindi la risposta alla tua domanda è: No, non esiste un unico nome ampiamente accettato per questa convenzione del caso analogo a snake_case o camelCase , che sono ampiamente accettati.


118
L'articolo di Wikipedia collegato al momento ha un riferimento che rimanda a questa domanda di overflow dello stack ... in particolare alla domanda sul caso di kebab. Forse usare Wikipedia come fonte non è stata un'idea intelligente.
dequis,

8
@BenLee Sono quello che hai sentito macellare la copia - per cui mi scuso. Si noti che il caso spinale / Train-Case sono stati aggiunti a Wikipedia il 07-10-2012 senza riferimento da un utente anonimo da un indirizzo IP senza altra cronologia di Wikipedia. Non sono riuscito a trovare altre prove per quei termini che non risalgono circolarmente a Wikipedia. D'altra parte, ho sentito che questa domanda StackOverflow offriva prove del fatto che il caso kebab ha una comunità di utenti che non dipende da qualcosa inserito in un articolo di Wikipedia senza prove. Spero che sia abbastanza per evitare la carica di ricerca originale.
Robert Tupelo-Schneck,

7
Sono stato tentato di rimuovere del tutto il caso spinale e il caso treno (come probabile vandalismo); ma forse il vandalismo di Wikipedia di lunga data può effettivamente creare prove per se stesso. Questo è quello che sembra essere successo qui.
Robert Tupelo-Schneck,

11
Mi piace il "caso del bruco" poiché è schiacciato e poi lungo, e mantiene il tema degli animali
RenaissanceProgrammer

55
caso kebab-perché-sembra-le-parole-sono infilzati-su-un-kebab
Aaron_H

464

Si chiama caso kebab . Vedi i documenti di lodash .


190
Ecco un riferimento , che lo rende ufficiale;)
Andreas,

13
Ecco un altro riferimento: github.com/qerub/camel-snake-kebab ;)
qerub

11
La ricorsione nel riferimento significa che è molto più simile a Lisp.
Michael Della Bitta,

140
Ho votato a favore di questa risposta non perché credo che sia quella giusta, ma perché voglio che sia quella giusta.
Jason Swett,

43
Adoro la citogenesi che sta succedendo qui. Questa risposta si collega a lodash che collega a Wikipedia che collega a questa risposta!
gilly3,

37

A volte è anche noto come caso di bruco


61
il caso del bruco ha molto più senso del caso del kebab, perché cammelli, serpenti e bruchi sono tutti i tipi di creatura vivente mentre un kebab non lo è.
Daira Hopwood, l'


4
Dato che "bruco" ha quattro sillabe mentre "kebab", "trattino" e "trattino" ne hanno uno o due, penso che argomentare per caso di bruco sia una battaglia persa
Ninjakannon,

1
"caso di bruco" è troppo lungo per essere un nome di caso, penso che "caso di verme" sarebbe una scelta migliore. : D
Bahattin Ungormus,

5
@DairaHopwood è pienamente d'accordo .. Pascal era anche una creatura vivente.
nawfal,

16

Aggiungendo il link corretto qui Kebab Case

che è tutto minuscolo con - le parole di separazione.


12

Dato che il carattere (-) è indicato come "trattino" o "trattino", sembra più naturale nominare questo " trattino " o " trattino " (usato meno frequentemente).

Come menzionato in Wikipedia , viene utilizzato anche " caso kebab ". Apparentemente (vedi risposta ) questo è perché il personaggio sembrerebbe uno spiedino ... Tuttavia ha bisogno di un po 'di immaginazione.
Usato in lodash lib per esempio.

Di recente, " trattino stato utilizzato "


6
Il caso del kebab si riferisce a shish-kebab più che a döner kebab se questo è di aiuto.
Alper,

10

L'ho sempre chiamato e ho sentito che si chiamava "dashcase".


21
Sarà per sempre noto come Dashy McDash Case
colllin

15
@colllin Penso che intendi dashy-mcdash-case;)
siguy85

7

L'elenco completo dopo alcune ricerche:

  • Custodia per kebab
  • Custodia Caterpillar
  • Caso Dash
  • Caso trattino
  • Caso Lisp
  • Caso spinale
  • Caso CSS

6

Non esiste un nome standardizzato.

Biblioteche come jquery e lodash lo indicano come kebab-case. Lo stesso vale per il framework javascript di Vuejs . Tuttavia, non sono sicuro se sia sicuro dichiarare che è indicato come kebab-casenel mondo javascript.


In questo modo se vieni qui dai documenti di
Vuejs

5

Direi semplicemente che è stato sillabato .


8
La sillabazione potrebbe essere una buona risposta a una domanda inglese, ma per il codice non è abbastanza specifica. Ad esempio, in kebab-casetutte le lettere sono minuscole.
Rybo111,



2

Ecco un discombobulation più recente. Documentazione ovunque nei corsi angolari di JS e Pluralsight e libri sugli angolari, tutti si riferiscono al caso di kebab come caso di serpente, non differenziando tra i due.

Il suo pessimo caso di bruco non si è attaccato perché snake_case e caterpillar-case sono facilmente ricordabili e sembrano proprio quello che rappresentano (se hai una buona immaginazione).


1

La mia proposta ECMAScript per 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();
}

qualche risposta alla proposta?
nxmohamad,

qualche risposta alla tua risposta?
Dane Brouwer il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.