Jak się nazywa sprawa rozdzielona myślnikami?

Tu PascalCase: SomeSymbol

Tu camelCase: someSymbol

Tu snake_case: some_symbol

Więc moje pytania brzmią, czy istnieje powszechnie akceptowana nazwa na to: some-symbol? Jest powszechnie używany w adresach url.

Author: Fez Vrasta, 2012-06-30

15 answers

Nie ma tak naprawdę standardowej nazwy dla tej konwencji przypadku, i nie ma zgody co do tego, jak powinna ona być nazwana.

To powiedziawszy, od 2019 roku, jest mocny argument, że Kebab-case wygrywa:

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

spinal-case jest odległą sekundą i żadne inne terminy nie mają żadnej przyczepności.

, Kebab-case wprowadził leksykon kilku bibliotek kodu javascript, np.:

Istnieją jednak jeszcze inne terminy, których ludzie używają. Lisp używa tej konwencji od dziesięcioleci, jak opisano w w tym wpisie na Wikipedii , więc niektóre ludzie opisali go jako Lisp-case . Niektóre inne formy, które widziałem to Caterpillar-case, dash-case i myślnik-case , ale żaden z nich nie jest standardowy.

Więc odpowiedź na twoje pytanie brzmi: Nie, Nie ma jednej powszechnie akceptowanej nazwy dla tej konwencji przypadku analogicznej do snake_case lub camelCase , które są powszechnie akceptowane.

 467
Author: Ben Lee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-21 05:26:06

Nazywa się Kebab-case . Zobacz lodash docs .

 480
Author: jwfearn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-25 11:27:00

Jest również czasami znany jako Caterpillar-case

 37
Author: tim_yates,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-22 16:23:21

Dodanie poprawnego linku tutaj Kebab Case

Czyli wszystkie małe litery z-oddzielającymi wyrazami.

 16
Author: user666,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-05 13:39:35

Ponieważ znak ( - ) jest określany jako "myślnik" lub "myślnik", bardziej naturalne wydaje się nazywanie tego "myślnik-case" lub "myślnik-case" (rzadziej używane).

Jak wspomniano w Wikipedii, "Kebab-case" jest również używany. Najwyraźniej (zobacz odpowiedź) to dlatego, że postać wyglądałaby jak szpikulec... Potrzebuje trochę wyobraźni.
Używany na przykład w lodash lib .

Ostatnio " DASH-case " było używany przez

 12
Author: Guillaume Husta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-03 21:03:27

Zawsze to nazywałem i słyszałem jak się nazywa: dashcase.'

 11
Author: Mike Campbell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-27 09:35:59

Jest to najbardziej znany przypadek i ma wiele nazw

  • kebab-case: to nazwa najczęściej przyjmowana przez oficjalne oprogramowanie
  • caterpillar-case
  • dash-case
  • hyphen-case lub hyphenated-case
  • lisp-case
  • spinal-case
  • css-case
  • slug-case
  • friendly-url-case
 11
Author: Shadi Namrouti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-01 17:10:59

Nie ma znormalizowanej nazwy.

Biblioteki takie jak jquery i lodash nazywają ją kebab-case. Podobnie jak VueJS javascript framework. Jednak nie jestem pewien, czy można bezpiecznie zadeklarować, że jest on określany jako kebab-case w świecie javascript.

 6
Author: Gaurang Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-26 02:08:24

Powiedziałbym po prostu, że to dzielone .

 5
Author: Jem Marsh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-29 10:24:11
 3
Author: albfan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-30 02:00:32
 3
Author: Ramanraj Saxena,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-05 14:50:57

Oto nowsza dyskusja. Dokumentacja wszędzie w angular JS i Pluralsight kursy i książki na angular, wszystkie odnoszą się do kebab-case jako Snake-case, Nie różnicując między nimi.

Jego szkoda Caterpillar-case nie trzymać ponieważ snake_case i Caterpillar-case są łatwo zapamiętane i faktycznie wyglądają jak to, co reprezentują (jeśli masz dobrą wyobraźnię).

 2
Author: Wray Smallwood,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-19 17:48:43

Moja propozycja ECMAScript dla 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();
}
 1
Author: Christoph Bühler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-13 16:53:23

Zawsze wiedziałem, że to kebab-case.

Tak na marginesie, słyszałem, że ludzie nazywają to SCREAM-KEBABKiedy wszystkie litery są pisane wielkimi literami.

Ostrzeżenie O Kebabie

Zawsze lubiłem kebab-case ponieważ wydaje się najbardziej czytelny, gdy potrzebujesz białych znaków. Jednak niektóre programy interpretują myślnik jako znak minus i może to powodować problemy, ponieważ to, co myślisz, że jest nazwą, zmienia się w operację odejmowania.

first-second  // first minus second?
ten-2 // ten minus two?

Również niektóre frameworki parsują myślniki w kebabie nieruchomość zabudowana. Na przykład, strony GitHub używają Jekyll, a Jekyll parsuje wszelkie myślniki, które znajduje w pliku md. Na przykład, plik o nazwie 2020-1-2-homepage.md na stronach GitHub zostanie umieszczony w folderze o strukturze \2020\1\2\homepage.html podczas kompilacji witryny.

Snake_case vs Kebab-case

Bezpieczniejszą alternatywą dla kebab-case jest snake_case, lub SCREAMING_SNAKE_CASE, jak podkreślono, powodują mniej zamieszania w porównaniu ze znakiem minus.

 1
Author: Cameron McKenzie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-17 14:52:19

Tę obudowę można również nazwać "ślimakiem", a proces przekształcania frazy w nią"ślimakiem".

Https://hexdocs.pm/slugify/Slug.html

 0
Author: MgSam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-02 15:44:18