在url中使用连字符还是下划线是更好的惯例?
应该是/about_us还是/about-us?
从可用性的角度来看,我个人认为/about-us对最终用户来说要好得多,而谷歌和大多数其他网站(以及javascript框架)使用下划线命名模式。只是风格的问题吗?破折号有兼容性问题吗?
在url中使用连字符还是下划线是更好的惯例?
应该是/about_us还是/about-us?
从可用性的角度来看,我个人认为/about-us对最终用户来说要好得多,而谷歌和大多数其他网站(以及javascript框架)使用下划线命名模式。只是风格的问题吗?破折号有兼容性问题吗?
当前回答
不只是破折号和下划线:
带空格的文本 textwithoutspaces 编码% 20空间% 20 % 20的url underscore_means_space dash-means-space + +是+空间 camelCase PascalCase “带空格的引用文本”(以及单引号和双引号) 斜杠/手段/空间 dot.means.space
其他回答
这只是一个猜测,但似乎他们选择了一个人们最不可能在名字中使用的名字。通过这种方式,您可以拥有一个包含连字符的单词的名称,并且仍然使用下划线作为单词分隔符,例如UseTwo-wayLinks可以转换为use_two-way_links。
在您的示例中,/about-us将是一个名为“about-us”的连字符目录(如果存在这样的单词,/about_us将是一个名为“about us”的两个单词短语的目录,转换为一个非白人字符字符串。
一些较老的web主机和DNS服务器实际上在解析url的下划线时存在问题,所以这可能是这些约定的一部分。
以下是使用破折号的几点建议:
谷歌建议在下划线上使用破折号。 终端用户更熟悉破折号。 破折号更容易在标准键盘上书写(不需要Shift键)。 破折号不会隐藏在下划线后面。 破折号在url的上下文中感觉更原生,因为它们在域名中是被允许的。
我个人会避免所有的破折号和下划线,如果是在代码中,我会选择驼峰式或帕斯卡式。
维基百科上关于camelCase的文章解释了它起源背后的一些原因。它们总计为
懒惰的程序员不喜欢 到达_键 潜在的混淆 可读性 施乐PARC的“Alto”键盘 没有下划线键。
如果用户要看到字符串,那么我不会做以上任何一件事,如果我不得不使用“关于我们”或“关于我们”,因为骆驼的情况已经蔓延到一些领域的常见用法,如产品名称。比如ThinkPad, TiVo
Jeff对此有一些想法:https://blog.codinghorror.com/of-spaces-underscores-and-dashes/
两者都有缺点。我建议你选择一个并保持一致。