我很好奇,如果你的团队中有人以“习惯”的名义打破编码规范会怎样?于我而言,不写四直接写五是这种感觉,这并不是习惯,而是规范。

  还有一封很长的邮件,截取一二:

  玉伯哥,我经常会为一些事情纠结,比如创建文件夹的时候会想是首字母大写好看呢还是全小写来保持统一呢(Movie,movie,mytest,MyTest),当写程序注释的时候我会想是写 // this function proves that… 好呢还是 // This function proves that… 我不知道我这种对大小写在意的习惯是一种好习惯还是一种坏习惯……

  微博上,一提到编码风格时,往往也会引起腥风血雨,比如

  JavaScript 语句后面应该加分号吗?

  缩进应该用 Tab、四空格还是两空格?

  变量应该统一提前声明好还是近声明?

  变量名应该用驼峰风格还是下划线风格?

  注释应该采用 JSDoc 风格还是 Markdown 风格?

  私有属性约定用下划线开头吗?

  函数好不要超过多少行?

  ……

  这类问题不仅在程序员中普遍存在,文字工作者也常常纠结:

  中英文混排时,中文与英文之间应该加空格吗?

  中英文混排时,英文字母后面应该用全角还是半角标点符号?

  段落前面真有必要空两格吗?

  引号是否应该用 『』和「」?

  破折号是一杠还是两杠?

  例如、参考等词汇后,究竟需不需要加冒号?

  ……
 

  风格

  我们日常说的编码规范,经常指的是 Style Guide,正确的翻译是编码风格。

  既然是风格,没有对错。如现实生活中,我们每个人都有自己的穿着打扮一样。可能有些人打扮土一点,但土土,并不影响什么。

  很有意思的是,风格也没有孰优孰劣。比如郭敬明的打扮,很多人很喜欢,会为其尖叫为其疯狂。但在我看来,郭敬明的相貌让我非常讨厌,这还是男人吗?太锉啦。

  别去争辩,喜欢和对错无关,风格亦无高低之别。

  编码风格如此,文字排版风格也是一样。

  规范

  风格之外,也有规范。比如穿着打扮,光怪陆离都没问题,但在公众场合不能不穿。规范经常很少很少,但的的确确存在。

  对于 JavaScript 语言来说,通用的编码规范基本没有,有的话只有一条:要能运行。除此之外,还会有一些:

  JavaScript 文件的编码必须是 UTF-8 。

  JavaScript 中不能出现 URL 硬编码。

  ……

  以上规范都是针对具体公司具体场景下的要求,除了以上这些规范,其他都是编码风格问题。

  社会中的规范,是为了维护基本秩序和道德底线。编码规范,则是为了避免错误。