Node 编程规范

空格,

2个, 因为有多层函数嵌套

行宽,

80个字符

语句分隔,

一律用; 并且占一行

变量定义,

每一个都要用 var, 并且不要定义全局变量

变量名和属性名,

小驼峰, yourName

函数,

小驼峰, 类 大驼峰 YourClass

引号,

一律用 '' 单引号

关联数组初始化:

将 var = { 放在一行,下面每行一对键值,保持两空格的缩进,以分号结尾,}; 最后单独另起一行.
对于每对键值,除非键名之中有空格或者有非法字符,否则一律不用引号.
例如
var anArray = {
name: 'asdf',
'is good': true,
}

等号:

尽量使用 === 而不是 == 来判断相等

命名函数,

尽量给构造函数和回调函数命名

对象定义

尽量将所有的成员函数通过原型定义,将属性在构造函数内定义, 然后对构造函数使用new 关键字创建对象
绝对不要把属性作为原型定义, 因为当要定义的属性是一个对象的时候,不同实例中的属性会指向同一地址.
除非必须,避免把成员函数定义在构造函数内部, 否则会有运行时的闭包开销。
function FooObj(bar) {
//在构造函数中初始化属性
this.bar = bar;
this.arr = [1, 2, 3];
}
FooObj.prototype.func = function() {
console.log(this.arr);
};

继承

首先,避免使用复杂的继承,如多重继承或深层次的继承树, 如果的确需要继承,那么尽量使用Node.js的util模块中提供的inherits函数.
例如我们要让Foo继承EventEmitter最好使用以下方式:
var util = require('util');
var events = require('events');
function Foo() {
}
util.inherits(Foo, events.EventEmitter);

上一篇:mac使用brew安装mysql报RROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)


下一篇:win10 开启蓝 由于其配置信息(注册表中的)不完整或已损坏