持续更新,也欢迎Nodejs大牛进QQ群讨论:541925216
参考网址:https://github.com/dead-horse/node-style-guide
https://github.com/windyrobin/iFrame/blob/master/style.md
1、使用单引号
Right:
var foo = 'bar';
var http = require('http');
Wrong:
var foo = "bar";
var http = require("http");
2、大括号位置
Right:
if (true) {
console.log('winning');
}
Wrong:
if (true)
{
console.log('losing');
}
3、文件命名采用下划线命名法
Right:
child_process.js
string_decoder.js
_linklist.js
4、类名采用Camel命名法
*毕竟它叫 JavaScript 而不是 java_script *
Right:
var definitionvar adminUser = db.query('SELECT * FROM users ...');
//�小驼峰
function run() {
}
//�大驼峰
function BankAccount() {
}
5、 CSS 类使用连字号
CSS 语法本身就使用连字号作为连接(比如 font-family
,text-align等
Right:
.my-class
6、对象、数组的创建
'{}' ,'[]' 代替 new Array,new Object
Right:
var a = ['hello', 'world'];
var b = {
good: 'code',
'is generally': 'pretty'
};
Wrong:
var a = [
'hello', 'world'
];
var b = {"good": 'code'
, is generally: 'pretty'};
7、错误优先
Node 的异步回调函数的第一个参数应该是错误指示
Right:
function cb(err, data , ...) {...}
8、使用 === 比较符
Right:
var a = 0;
if (a === '') {
console.log('winning');
}
9、使用有意义的判断条件
Right:
var isValidPassword = password.length >= 4 && /^(?=.*\d).{4,}$/.test(password);
if (isValidPassword) {
console.log('winning');
}
Wrong:
if (password.length >= 4 && /^(?=.*\d).{4,}$/.test(password)) {
console.log('losing');
}
10、尽早的从函数中返回
Right:
function isPercentage(val) {
if (val < 0) {
return false;
}
if (val > 100) {
return false;
}
return true;
}
Wrong:
function isPercentage(val) {
if (val >= 0) {
if (val < 100) {
return true;
} else {
return false;
}
} else {
return false;
}
}
11、空格缩进
使用2个空格而不是 tab 来进行代码缩进,同时绝对不要混用空格和 tab
各个编辑器都可以进行进行偏好设置
例如:Sublime Text 设置(perfernces > Settings - User):
"tab_size": 2,
"translate_tabs_to_spaces": true
12、去除行末尾的多余空格
各个编辑器都可以进行进行偏好设置
例如:Sublime Text 设置(perfernces > Settings - User):
"trim_trailing_white_space_on_save": true