这是PascalCase:SomeSymbol
这是camelCase:someSymbol
这是snake_case:some_symbol
所以我的问题是,是否有一个被广泛接受的名称:some-symbol
?它通常用于网址。
答案 0 :(得分:428)
它被称为 kebab-case 。请参阅lodash docs。
答案 1 :(得分:363)
这个案例约定并没有真正的标准名称,并且对它应该被称为什么存在分歧。
也就是说,截至2019年,有一个强有力的理由认为 kebab-case 获胜:
脊柱病例是遥远的第二位,其他任何术语都没有任何牵引力。
此外, kebab-case 已进入代码库的词典,例如: https://lodash.com/docs/#kebabCase和https://www.npmjs.com/package/kebab-case。
但是,人们仍然使用其他术语。
Lisp几十年来一直使用这种惯例,如this Wikipedia entry所述。出于这个原因,它在question on Programmers SE中被描述为 lisp-case ,与此类似。这似乎是一个原始的创造。
我见过的其他一些表单包括 caterpillar-case , dash-case 和 hyphen-case ,但这些都不是标准。
所以你的问题的答案是:不,这个案例约定没有一个被广泛接受的名称,类似于 snake_case 或 camelCase ,它们广泛存在-accepted。
答案 2 :(得分:36)
它有时也被称为caterpillar-case
答案 3 :(得分:12)
在此处添加正确的链接Kebab Case
全部小写,分隔单词。
答案 4 :(得分:8)
我总是打电话给它,听到它被称为'dashcase。'
答案 5 :(得分:6)
由于字符( - )被称为“连字符”或“破折号”,因此将此命名为“破折号”或“连字符大小写<”似乎更为自然/ strong>“(不常使用)。
如Wikipedia中所述,也使用“ kebab-case ”。显然(见answer)这是因为角色看起来像串烧 ......但它需要一些想象力。
例如,在lodash lib中使用。
最近,
使用了“破折号”答案 6 :(得分:5)
我只是说它是hyphenated。
答案 7 :(得分:5)
没有标准名称。
jquery和lodash等图书馆将其称为kebab-case
。 Vuejs javascript框架也是如此。但是,我不确定在javascript世界中声明它是否被称为kebab-case
是否安全。
答案 8 :(得分:2)
这是最近的一次混乱。有角度的JS和Pluralsight课程以及有角度的书籍中的文档无处不在,都将烤肉串称为蛇形案例,而不区分两者。
它太糟糕的毛虫箱没有坚持,因为蛇形箱和卡特彼勒箱很容易被记住,实际上看起来像它们所代表的(如果你有很好的想象力)。
答案 9 :(得分:2)
答案 10 :(得分:2)
经过研究的完整列表:
答案 11 :(得分:1)
在Salesforce中,它称为kebab-case
。见下文
https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.js_props_names
答案 12 :(得分:0)
我对String.prototype.toKebabCase
的ECMAScript建议。
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();
}
答案 13 :(得分:0)
此大小写也可以称为“子弹”,将短语变成“子弹”的过程。
答案 14 :(得分:0)
我一直将其称为kebab-case
。
有趣的是,我听到有人将所有字母大写的情况称为SCREAM-KEBAB
。
我一直liked kebab-case
,因为当您需要空格时,它似乎最易读。但是,某些程序将破折号解释为减号,并且可能会导致问题,因为您认为名称变成了减法运算。
first-second // first minus second?
ten-2 // ten minus two?
此外,某些框架还会分析kebab cased属性中的破折号。例如,GitHub Pages使用Jekyll,Jekyll解析其在md文件中找到的所有破折号。例如,在编译站点时,GitHub Pages上名为2020-1-2-homepage.md
的文件将被放入结构为\2020\1\2\homepage.html
的文件夹中。
snake_case
或kebab-case
E是SCREAMING_SNAKE_CAS
的更安全替代方法,因为与负号相比,下划线会减少混乱。