url:Dash vs. Underscore

应该是/ about_us还是/ about-us

从可用性的angular度来看,我个人认为/ about-us对于最终用户来说是好得多,而Google和大多数其他网站(和javascript框架)都使用下划线命名模式。 这只是风格的问题吗? 是否有与破折号兼容性问题?

这只是一个猜测,但似乎他们select了一个人最有可能不会使用的名称。 这样你就可以得到一个包含连字符的名字,并且仍然使用下划线作为单词分隔符,例如Use Two-wayLinks可以转换为use_two-way_links。

在你的例子中,/ about-us是一个名为带有连字符的单词“about-us”的目录(如果这样的单词存在,并且/ about_us将是一个名称为“关于我们”的双字短语的目录转换为单个string非白色字符。

来自Google网站pipe理员中心

考虑在你的url中使用标点符号。 urlhttp://www.example.com/green-dress.html比http://www.example.com/greendress.html更有用。 我们build议您在url中使用连字符( – )而不是下划线(_)。

这不仅仅是冲刺与下划线:

  • 文本与空间
  • textwithoutspaces
  • 编码%20spaces%20英寸%20URL
  • underscore_means_space
  • 划线装置空间
  • 加+指+空间
  • 骆驼香烟盒
  • PascalCase
  • “用空格引用文本” (单引号与双引号)
  • 斜线/装置/空间
  • dot.means.space

谷歌过去并没有把下划线当作分隔符,我认为这很疯狂,但现在显然是这样。 由于这个历史,破折号是首选。 即使下划线现在允许从SEO的angular度来看,我仍然认为破折号是最好的。

一个好处是,你的平均半文盲networking冲浪者更有可能在键盘上input一个破折号,他们甚至可能不知道下划线是什么。

这里有几点赞成破折号:

  • 谷歌推荐使用下划线( 源代码 )。
  • 对最终用户来说,虚线更为熟悉。
  • 在标准键盘上使用虚线更容易(不需要Shift键)。
  • 短划线不会隐藏在下划线之后。
  • 在url的背景下,虚线感觉更为原生,因为它们在域名中是允许的。

我曾经使用下划线所有的时间,现在我只使用他们的网站的一部分,我不希望任何人直接链接,JS文件,CSS等…

从search引擎优化的angular度来看,破折号似乎是处理它的首选方式,详细的解释,从马嘴http://www.mattcutts.com/blog/dashes-vs-underscores/

另一个问题似乎发生,更多与普通大众比程序员,是当一个带有下划线的超链接下划线时,你看不到下划线。 高级用户可以解决,但Joe Public可能不会。

尽pipe如此,仍然使用代码中的下划线,而不是破折号 – 程序员理解它们,大多数其他人则不会。

杰夫对此有一些想法: http : //www.codinghorror.com/blog/archives/000574.html

两者都有缺点。 我build议你选一个并保持一致。

search引擎优化大师吉姆·韦斯特格伦(Jim Westergren)在2005年从严格的SEOangular度对此进行了testing ,得出的结论是+(加号)实际上是最好的单词分隔符。 但是,这似乎不合理,可能是由于search引擎algorithm中的一个错误。 他build议 – (短划线)的可读性和search引擎优化。

我更喜欢下划线。 首先,他们与我的常规编程经验variable_names_are_not-subtraction匹配,其次,我相信这已经被提及,单词可以有连字符,但它们从来没有下划线。 举一个非常愚蠢的例子,“民族国家”与“民族国家”不同。 前者翻译成“民族国家的土地”(认为“这里是枪支国家!最好的移动,y'hear?”),而后者看起来像是某个时间同义词的列表。 http://example.com/nation-state-country/看起来与http://example.com/nation-state-country/不一样,但是,如果连字符是分隔符/“空格”到文字中的字符,它可以。 后者似乎对于实际目的更为清楚,而前者看起来更像这个名单,如果有的话。

下划线replace不允许空格的空格。 虚线(连字符)可以是单词的一部分,因此连接带有连字符的连字符的单词是丑陋的/混乱的。

坏:

 /low-budget-movies 

好:

 /low-budget_movies 

我认为从用户的angular度来看破折号更好,它不会干扰search引擎优化。

不知道下划线公约开始的地方或原因。

多一点有见识的辩论

我更喜欢破折号,因为下划线可能被链接下划线遮蔽。 文本URL主要是为了一眼就认出来,而不是在语法上是正确的,所以保留用于连字符的短划线的论点是有限的。

如果文本url的准确性很重要,那么在向某人阅读时,您不希望将下划线混淆为空格(反之亦然)。

A也发现破折号更美观,如果这是重要的任何东西。

就个人而言,我会避免使用about-us或about_us,只是使用about。

对于最终用户来说,我更喜欢“关于我们”或“关于我们”而不是“about_us”

一些较早的网站托pipe和DNS服务器实际上在parsingURL的下划线时存在问题,因此可能会在这些约定中起作用。

我个人会避免所有的破折号和下划线,如果在代码中selectcamelCase或PascalCase 。

维基百科关于camelCase的文章解释了它起源背后的一些原因。 他们相当于

  1. 懒惰的程序员谁不喜欢的_键
  2. 潜在的可读性困惑
  3. xerox PARC上的“Alto”​​键盘没有下划线键。

如果用户要查看string,那么我不会执行上述操作并使用“关于我们”。 或“关于我”,如果我不得不像驼峰一样在某些领域如产品名称上普遍使用。 即ThinkPad,TiVo

在URL中允许使用空格,所以你可以在链接中使用“/ about us”(尽pipe这会被编码为“/ about%20us”。但是说实话,这总是个人偏好,所以没有真正的答案在这里给予。

我会按照破折号可以用文字显示的惯例,所以空格应该被转换为下划线。

更好地使用。 – /作为分隔符,因为_似乎不是分隔符。

http://www.sistrix.com/blog/832-how-long-may-a-linktext-be.html