前言
并没有一个官方的文档规定Node.js应用程序代码的风格,但Node.js代码分割有着一些“事实上的约定”,大多数项目的代码都已定程度上遵循了这一标准。作为Node.js开发新手,我认为有必要遵守这个约定,以便于今后的交流。追根溯源,这个规范发轫于Node.js核心模块的实现,而Node.js核心模块的代码很大程度上符合JavaScript代码的一贯风格。
事实上代码风格永远是一个有争议的话题,没有什么最好的,也不可能被所有人认可。下面介绍的代码规范主要参考了Felix's Node.js Style Guide,其中不仅有代码风格上的规范,也有JavaScript特性选择和设计模式上的建议,这些建议都是经验之谈,并非必须遵守,但可能会让你的程序避免很多意外的错误和性能损失。废话不多说,开始介绍具体。
缩进--两空格缩进
在早期的语言规范中,大多数都选择用Tab作为缩进标记,如Delphi、Microsoft C++规范等。但近年来,空格缩进依靠其风格的不变性,逐渐成为了主流。如Python、Ruby甚至C#都采用了空格缩进作为“标准”。但我们选择两空格作为Node.js代码的缩进标记,不同于最常见的四空格缩进。这是因为Node.js代码中很容易写出深层的函数嵌套,过多的空格会给阅读带来不便,因此我们选择两空格缩进。
行宽--80字符
尽管现在你的显示器屏幕可能已经很宽了,但为了保证在任何设备上都可以方便地阅读,建议把行宽限制为80字符。
语句分隔符--使用分号
JavaScript不仅支持像C语言一样的分号(;)作为语句之间的分隔符,还支持像Python语言那样的换行作为语句之间的界限。我们建议一律使用分号,哪怕一行只有一个语句,也不要省略分号。
变量定义--使用var定义变量
永远使用var定义变量,而不要通过赋值隐式定义变量。因为通过赋值隐式定义的变量总是全局变量,会造成命名空间污染。建议绝不使用全局变量,因此要通过var把所有变量定义为局部变量。
使用var定义变量时,确保每个语句定义一个变量,而不要通过逗号(,)把多个变量隔开。