这是PascalCase: SomeSymbol
这是骆驼
这是snake_case: some_symbol
所以我的问题是,这是否有一个被广泛接受的名称:某种符号?它通常用于url。
这是PascalCase: SomeSymbol
这是骆驼
这是snake_case: some_symbol
所以我的问题是,这是否有一个被广泛接受的名称:某种符号?它通常用于url。
对于这种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,因为与负号相比,下划线会减少混淆。