这是PascalCase: SomeSymbol

这是骆驼

这是snake_case: some_symbol

所以我的问题是,这是否有一个被广泛接受的名称:某种符号?它通常用于url。


它被称为烤肉箱。请参阅lodash文档。


对于这种case惯例,并没有真正的标准名称,对于它应该如何命名也存在分歧。

也就是说,截至2019年,有充分的理由表明,烤肉串正在获胜:

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

脊柱病例是一个遥远的第二位,没有其他任何术语有任何吸引力。

此外,kebab-case已经进入了几个javascript代码库的词典,例如:

https://lodash.com/docs/#kebabCase https://www.npmjs.com/package/kebab-case https://v2.vuejs.org/v2/guide/components-props.html#Prop-Casing-camelCase-vs-kebab-case

然而,人们仍然使用其他术语。Lisp使用这种约定已经有几十年了,正如维基百科条目中描述的那样,所以有些人将其描述为Lisp -case。我见过的其他一些形式包括毛毛虫式、破折号式和连字符式,但这些都不是标准的。

因此,您的问题的答案是:不,这个类似于snake_case或camelCase的case约定没有一个被广泛接受的名称。


它有时也被称为毛虫病


在这里添加正确的链接串案例

这是所有小写字母与-分隔词。


我只想说它是连字符。


没有标准化的名称。

jquery和lodash等库将其称为kebab-case。Vuejs javascript框架也是如此。然而,我不确定在javascript世界中把它称为烤肉串case是否安全。


我一直叫它,也听人叫它“仪表盘”。


这是最近的一种混乱。在angular JS和Pluralsight课程以及有关angular的书籍中,所有的文档都将烤肉箱称为蛇箱,并没有区分这两者。

可惜caterpillar-case没有坚持下来,因为snake_case和caterpillar-case很容易记住,而且实际上看起来就像它们所代表的那样(如果你有良好的想象力)。


由于字符(-)被称为“连字符”或“破折号”,因此将其命名为“破折号”或“连字符”(不太常用)似乎更自然。

正如维基百科中提到的,“kebab-case”也被使用。显然(见答案)这是因为这个角色看起来像一根烤串……不过它需要一些想象力。 例如在lodash lib中使用。

最近,“破折号”被

角(https://angular.io/guide/glossary #例类型) NPM模块 https://www.npmjs.com/package/case-dash(已删除?) https://www.npmjs.com/package/dasherize


值得一提的是从废除:

https://github.com/tpope/vim-abolish/blob/master/doc/abolish.txt#L152

仪表盘或烤串盒


这是最著名的案例,它有很多名字

烤肉箱:官方软件最常用的名称 caterpillar-case dash-case 连字符大小写或连字符大小写 lisp-case spinal-case css-case slug-case friendly-url-case


在Salesforce中,它被称为烤肉箱。见下文

https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.js_props_names


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

这种外壳也可以被称为“slug”,将一个短语变成它的过程也可以被称为“slugify”。

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


我一直把它叫做烤串箱。

有趣的是,当所有的字母都是大写的时候,我听到人们叫它尖叫烤肉串。

烤肉个案警告

我一直很喜欢“串字盒”,因为当你需要空格时,它似乎是最易读的。然而,有些程序将破折号解释为减号,这可能会导致问题,因为您认为的名称变成了减号操作。

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

此外,一些框架还会解析kebab大小写属性中的破折号。例如,GitHub Pages使用Jekyll,而Jekyll解析它在md文件中发现的任何破折号。例如,一个名为“2020-1-2-2 -首页”的文件。当网站编译时,GitHub页面上的md会被放入一个结构为\2020\1\2\首页.html的文件夹中。

Snake_case vs kebab-case

相对于串号,更安全的替代方案是snake_case或SCREAMING_SNAKE_CASE,因为与负号相比,下划线会减少混淆。