Як називається випадок, розділений дефісом?


509

Це PascalCase: SomeSymbol

Це camelCase: someSymbol

Це змія: some_symbol

Тож мої запитання: чи існує загальноприйнята назва для цього some-symbol:? Він зазвичай використовується в URL-адресах.


11
Ні. Більшість мов не допускають таких ідентифікаторів. Також перший називається випадок Паскаля.
— Cat Plus Plus


14
@CatPlusPlus Lisp використовує цей випадок, і оскільки Google розглядає -як простір, майже кожна SEO-адресна URL-адреса також використовує його.
— lms

4
Я вважаю, що частіше називати перший приклад, який ви даєте на ім'я PascalCase .
— Дрю Ноакс

24
@CatPlusPlus 1) URL-адреси НЕ стосуються мов програмування. Вони є однією з найчастіших мов програмування ресурсів. Деякі мови навіть трактують URL-адреси як об'єкт першого класу. URL-адреси Go, хоча і не є першим класом, використовуються для імпорту пакетів. 2) Рядок, розділений тире, досить поширений у декількох мовах (сімейство LISP для однієї), а також у допоміжних мовах, що використовуються в програмуванні, як CSS. Що для вас "меншість", це мова, яку інші працюють в день і поза. Ми не всі програмісти VB6.
— Хеджазман

Відповіді:


433

Насправді не існує стандартної назви для цієї конвенції про справу, і існує розбіжність з приводу того, що її слід називати.

Зважаючи на це, станом на 2019 рік слід зробити вагомий випадок, щоб виграв шашлик :

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

spinal-case - це далека секунда, і жоден інший термін взагалі не має тяги.

Крім того, кебаб-випадок увійшов до лексикону декількох бібліотек коду JavaScript, наприклад:

Однак є й інші терміни, якими користуються люди. Лісп використовував цю конвенцію протягом десятиліть, як описано в цій статті у Вікіпедії , тому деякі люди описали її як випадок . Деякі інші форми, які я бачив, включають гусеничний футляр , тире та дефіс , але жодна з них не є стандартною.

Отже, відповідь на ваше запитання: Ні, для цієї справи немає жодної широко прийнятої назви, аналогічної snake_case або camelCase , які широко приймаються.


117
На даний момент пов'язана стаття з Вікіпедії містить посилання, яке посилається на це питання про переповнення стека ... конкретно на питання про шашлик. Можливо, використання wikipedia як джерела не було розумною ідеєю.
— декіс

8
@BenLee Я той, кого ти відчув, як копію отримав, - за що вибач. Зауважте, що spinal-case / Train-Case були додані до Вікіпедії 2012-10-07 без посилання анонімного користувача з IP-адреси без іншої історії Вікіпедії. Я не міг знайти жодних інших доказів для тих термінів, які циркулярно не поверталися до Вікіпедії. З іншого боку, я вважаю, що це питання StackOverflow пропонує докази того, що шашлик має спільноту користувачів, яка не залежить від чогось, що входить у статтю Вікіпедії без доказів. Я сподіваюся, що цього достатньо, щоб уникнути оригінальної плати за дослідження.
— Роберт Тупело-Шнек

7
Мене спокусило повністю зняти спинальну футлярику та поїздку (як імовірно, вандалізм); але, можливо, давній вандалізм у Вікіпедії може насправді створити докази для себе. Ось що, здається, сталося тут.
— Роберт Тупело-Шнек

11
Мені подобається «чотирикутний футляр», оскільки він скутий, а потім довгий, і тримається на тему тварин
— РенесансПрограммер

55
шашлик, тому що він схожий на слова
— перекинувся на

464

Це називається шашликом . Див. Лодашські документи .


190
Ось довідка , яка робить це офіційним;)
— Андреас

13
Ось ще посилання: github.com/qerub/camel-snake-kebab ;)
— qerub

11
Рекурсія в довідці означає, що це набагато більше, як Lisp.
— Майкл Делла Бітта

140
Я відповів на цю відповідь не тому, що вважаю, що вона є правильною, а тому, що я хочу, щоб вона була правильною.
— Джейсон Світт

43
Я люблю, що тут відбувається цитогенез . Ця відповідь посилається на lodash, яка посилається на wikipedia, яка посилається на цю відповідь!
— gilly3

37

Також іноді його називають футляром гусениць


61
гусениця має набагато більше сенсу, ніж шашлик, тому що верблюди, змії та гусениці - це всі види живої істоти, а шашлик - ні.
— Дайра Хопвуд


4
Оскільки "гусениця" має чотири склади, тоді як "шашлик", "тире" та "дефіс" мають один-два, я думаю, що сперечатися на випадок гусениці - це програючий бій
— Ninjakannon

1
"гусениця-футляр" занадто довга, щоб називати справу, я думаю, що "черв'як-футляр" був би кращим вибором. : D
— Bahattin Ungormus

5
@DairaHopwood повністю згоден .. Паскаль також був живою істотою.
— nawfal

16

Додайте тут правильне посилання Kebab Case

який є Усі малі літери - розділення слів.


12

Оскільки символ (-) позначається як "дефіс" або "тире", здається, більш природним називати цей " тире " або " дефіс " (рідше використовується).

Як згадується у Вікіпедії , також використовується " шашлик ". Мабуть (див. Відповідь ) це тому, що персонаж був би схожий на шампур ... Хоча для цього потрібна трохи фантазії. Наприклад,
використовується в lodash lib .

Нещодавно " тире-футляр " використовував


6
Випадок шашлику посилається на шашлик більше, ніж на доєнний шашлик, якщо це допоможе.
— Альпер

10

Я завжди називав це, і чув, як його називають, "тире".


21
Він назавжди буде відомий як Справа Деши Макдаша
— Коллін

15
@colllin Я думаю, ти маєш на увазі dashy-mcdash-case;)
— siguy85

7

Повний список після деяких досліджень:

  • Справа шашлик
  • Корпус гусениці
  • Тире справа
  • Дефіс
  • Справа Лісп
  • Спинальний випадок
  • Справа CSS

6

Не існує стандартизованої назви.

Бібліотеки, такі як jquery і lodash, називають це kebab-case. Так само і Vuejs- рамки JavaScript. Однак я не впевнений, чи безпечно заявити, що він посилається як kebab-caseу світі javascript.


Так, якби ви прийшли сюди з Vuejs docs
— a20

5

Я б просто сказав, що це було дефісом .


8
Дефіс може бути хорошою відповіддю на англійське питання, але для коду він недостатньо конкретний. Наприклад, kebab-caseусі літери бувають малі.
— rybo111



2

Ось більш свіжа дискомболяція. Документація скрізь у кутових курсах JS та Pluralsight та книги про кутові, усі називають шашлик як випадок змії, не розрізняючи їх.

Його надто поганий кейс-гусениця не приклеївся, тому що зміїний корпус і гусениця легко запам'ятовуються і насправді виглядають як вони представляють (якщо у вас є хороша уява).


1

Моя пропозиція ECMAScript для 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();
}

будь-яка відповідь на пропозицію?
— nxmohamad

будь-яка відповідь на вашу відповідь?
— Дейн Брауер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.