NodeBB 编码规范

大多数情况下,NodeBB 与 Google Javascript 编码规范 一致。

代码格式化

注解

2013年7月前存在的代码并不 100% 遵守此规范。如果你看到不符合规范的代码,请按规范格式化,然后提交推送请求。

缩进、括号

NodeBB 使用制表符缩进。括号依照 One True Brace Style:

if (condition) {
    // code here ...
} else {
    // otherwise ...
}

条件和语句分列不同行,即使已有一条语句也要使用花括号括起来:

if (leTired) {
    haveANap();
}

错误

大多数回调函数第一个参数返回错误。先处理错误,然后再执行逻辑。

someFunction(parameters, function(err, data) {
    if(err) {
       return callback(err); // or handle error
    }
    // proceed as usual
});

变量

变量始终使用 var 关键字定义:

var foo = 'bar';

多个定义包含在同一个 var 语句中:

var foo = 'bar',
    bar = 'baz';

分号

所有可用分号的地方都要使用分号

命名

所有的地方都使用驼峰法命名:

functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis, CONSTANT_VALUES_LIKE_THIS, foo.namespaceNamesLikeThis.bar, and filenameslikethis.js.