美文网首页
使用空格键比用 Tab 键的程序员挣得多,原因是…

使用空格键比用 Tab 键的程序员挣得多,原因是…

作者: 西边人 | 来源:发表于2018-09-29 14:32 被阅读134次

Stack Overflow 2017开发者调查数据分析表明,使用空格键的程序员比用Tab键的薪水高8.6%。无论是在国外,还是其它国家和地区,无一例外。我这儿有一段代码出了问题,它碰巧用了Tab键来缩进,但是30年来,我一直被告知要“慎用”Tab键……

最近,我们在网站上发布了Thomas (Tommy) Gartlan的一篇文章,文章发布后看起来有点问题:某处的代码缩进不见了,影响了可读性。

这让我有点窘,因为我总是苦口婆心地教导我那些可怜的学生们写代码的时候要注意缩进,不要怕麻烦,这样可读性才好。

说真的我有点惊讶,因为在编辑文章时,这段代码看起来很好。我回去检查,发现确实出问题了。

使用空格键比用 Tab 键的程序员挣得多,原因是…

这段代码本来是有缩进的,现在没了

我一边郁闷,一边动手重新缩进所有内容并在内容管理系统(CMS)中保存,然后我在浏览器中打开改好的版本,发现缩进又不见了。

然后我去检查另一篇文章的代码。结果一样,这让我很失望。

使用空格键比用 Tab 键的程序员挣得多,原因是…

结果一样,我真是欲哭无泪

接下来只能在CMS文件中找原因了,这次查看原始HTML代码。我希望只是漏了 <pre> 和 </ pre> 标签,它是用来保留多余空格的。但是标签并没有漏,到底是什么原因让空格不见了?此时此刻,我的IT同事还在查看这个问题。

上面显示的那段代码原本是这样的。

使用空格键比用 Tab 键的程序员挣得多,原因是…

这段代码本来缩进了4个空格

好吧,这些都不是我今天想说的重点。在查找问题的过程中,我知道了Tommy是用Tab键来实现缩进的。输入代码时使用Tab键确实比较省事,但是30年来,我一直被告知要“慎用”Tab键,因为不同的系统可能用不同的方式解释它们。

一个系统可能认为Tab代表四个空格,另一个系统则可能被设置为代表八个空格。但如果总是使用空格来缩进,就永远不会有歧义。我把这些告诉了Tommy,他回复说:“我得承认,我以前从没听说过不要使用Tab键。使用Tab键缩进很容易,但我们确实遇到了麻烦。一些IDE工具会自动执行缩进,因此检查它们是使用Tab键还是空格键十分有趣。”

前不久,Barr Group向我介绍了嵌入式C语言编码规范。Michael Barr及其同事创建此规范最主要的原因是为了减少嵌入式软件(即固件)中的错误个数,包括由维护人员添加或修改的代码。

规范中有两点让我印象深刻:

1.缩进时始终使用空格键,不要用Tab键;

2.最佳缩进是四个空格。

当然,我向Tommy介绍了Barr Group的编码规范之后,他这样回答:

“我现在肯定只用空格键了,因为使用空格键的人会比使用 Tab 键的人水平更高 ......我可不是开玩笑!”

什么!真的吗?这个我倒是从未听说过。Tommy为了证明他没有瞎说,让我到StackOverflow.blog上看调查报告。这真是太有趣啦。

既然看完了,顺手点击右上角麻烦转发出去吧。

相关文章

  • 使用空格键比用 Tab 键的程序员挣得多,原因是…

    Stack Overflow 2017开发者调查数据分析表明,使用空格键的程序员比用Tab键的薪水高8.6%。无论...

  • 在HTML代码中要如何插入空格?

    超文本标记语言(HTML)会自动忽略空格。平常在编写代码的时候,用空格键、Tab键以及回车键产生的空格,都会被HT...

  • yaml 语法简易入门

    yaml 语法简易入门 语法特点 大小写敏感 通过缩进表示层级关系 禁止使用tab缩进,只能使用空格键 缩进的空格...

  • yaml文件语法

    语法:1、大小写敏感2、使用缩进表示层级关系3、禁止使用tab缩进,只能使用空格键4、缩进长度没有限制,只要元素对...

  • css综合

    说一说你平时写代码遵守的编码规范 HTML1.用两个空格键代替tab键。2.尽可能使用语义化的标签。3.尽可能减少...

  • 字母的间隔突然变大

    因为变大的原因是 使用了 全角字符 按住 shirft + 空格键 就可以换回来 半角字符了

  • pug / jade学习笔记

    Jade和Sass一样通过空格来控制格式,一般推荐使用tab(2个空格键大小)来进行缩进。 一.小技巧 示例1: ...

  • next()与nextline()

    区别: next()读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符...

  • Basic Guava Utilities-CharMatche

    CharMatcher提供操作字符以及字符串的功能,如下面的代码: 如果需要将多个连续的tab键和空格键合并为单个...

  • 2018-07-15

    python初步编程错误 缩进错误:缩进时Tab键和空格键不要混用。运行提示缩进错误时,将本句代码重新缩进。 语法...

网友评论

      本文标题:使用空格键比用 Tab 键的程序员挣得多,原因是…

      本文链接:https://www.haomeiwen.com/subject/gnavoftx.html