说明:减号 , 中划线,dash,在本文中等同;下划线,underscore , 等同 。“连接符”,泛指连接单词的符号(故意没使用“连字符”/hyphen,因为连字符通常就是中划线/减号) 。
下划线在上
直观的差别
- 视觉上 , 减号更平衡 。而下划线的存在感更低,在http链接中甚至可能被淹没,和空格很难区分 。
- 在输入上,下划线需要多按一下 Shift 键,所以减号在便利性上加0.1分 。
下划线在超链接中可读性差
深入的差别以下划线连接的字符串双击就会全部选中(注) , 而减号连接的字符串要全选需要用鼠标 。所以下划线连接更便利 , 这是一些同学选择使用下划线的一个理由 。
这个差别已经接近下划线和减号的本质差别了,那就是它们在“分词”上的差别 。在计算机世界里,下划线的连接通常作为一个“单词”,而减号的连接不是 。
注:其实并不是所有软件中都这样 。随便试了一个版本的Word, 就不是这样(后面图中有) 。
分词的差别这里的“单词”不是英语的单词(word),计算机世界里我们通常说标识符(identifier) 。在标识符里,下划线的地位和26个字母基本无差别 , 比数字的地位还高一点,因为数字通常不能做首字母 。
在主流的正则表达式里,用来表示“单词”的字符,即w是这样的:[A-Za-z0-9_],也就是大小写字母,数字和下划线 。注意 , 它不包含减号(这里的减号是用来表示范围的) 。
所以 , 在计算机世界里,大家对于"word"所包含的字符的约定基本是一致的:包含下划线,但不包含减号 。
基于这个分词原则,除了刚才的双击行为的差别 , 还会产生很多的差别 。
排版的差别排版的差别主要体现在自动换行时 。减号会作为换行时截断的边界,而下划线通常不会 。
Word中分词/换行的差别
有些考虑不周的软件,在面对超长的“下划线单词”时,由于不分隔还会造成“溢出”(超出了预期的界面区域) 。
Jenkins中下划线超长溢出(上下对比)
搜索的差别如果你的公司做了一款产品 , 型号叫作 mycompany_myproduct,假如文档全程都用这个代号,极端点 , 没有提到mycompany或myproduct这两个单词,那么,对于某些搜索引擎,通过myproduct或mycompany将搜索不到这个页面 。
如果型号为mycompany-myproduct,通过mycompany和myproduct,则都是可以搜到的 。在做SEO时,更需要考虑这种差异 。
据说对于百度 , 两者的差异比较?。欢杂贕oogle,用减号连接则更有优势 。毕竟多数人会倾向用 myproduct 的关键字进行搜索 。
深入的逻辑从形式和逻辑组合上,共有4种符号用来区分隔断 。
- 形式上断开 , 逻辑上断开:这是全隔断 , 没有争议地用空格;
- 形式上连接 , 逻辑上断开:姑且称“弱连接”,通常用减号;
- 形式上连接,逻辑上连接:姑且称“强连接”,通常用下划线;
- 形式上断开,逻辑上连接:这是反人类,容易造成错误 。如果要算,中文全角空格勉强可以算一个 。但这不是它的本意,它只是一些坑的来源 。
推荐阅读
- 干洗的原理 干洗的原理是什么
- n是火线还是零线 n是什么线
- cisa是什么证书 cisa是什么的简称
- 孕妇梦到花生米 孕妇梦到花生米是什么意思
- 梦到小鸡出壳 梦到小鸡出壳是什么预兆
- 梦到树落叶 梦到树落叶是什么意思
- 梦到自己养了一群小鸡 梦到自己养了一群小鸡是什么意思
- 梦到自己扫落叶 梦到自己扫落叶是什么意思
- 下字的音节是什么 下字的音节是什么?
- 梦到木耳 梦到木耳是什么预兆