首页 > 随笔档案 > Node.js代码规范总结(个人使用)

Node.js代码规范总结(个人使用)

Publish:

var num = 123;
var aaa = {};
var arr = [];
var isAdmin = true;

​ 避免使用:

var obj =new Object();
var arr = new Array();
var test =new String("");
var size = new Number();

​ var是函数作用域,在循环声明以后只有等函数声明周期结束这些资源才会释放.

​ let是块作用域,在循环声明以后循环结束释放.

for (let i = 10; i < 11; i++) {
	var a = i;
}
console.log(a);
> 10

for (let i = 10; i < 11; i++) {
	let a = i;
}
console.log(a);
> ReferenceError: a is not defined
if (true) {
    console.log('winning');
}

​ 避免使用:

if (true)
{
  console.log('losing');
}

​ 常量应该被声明为普通变量或静态类的属性,全部使用大写字母。

var a = ['hello', 'world'];
var b = {
  good: 'code',
  'is generally': 'pretty'
};

​ 避免使用:

var a = [
  'hello', 'world'
];
var b = {"good": 'code'
        , "is generally": 'pretty'
        };
=== 即会判断类型,又会判断结果。
1 == true
> true
1 === true
> false
0 == false
> true
0 === false

​ 尽量避免如下用法:

Array.prototype.empty = function() {
  return !this.length;
}

var a = [];
if (a.empty()) {
  console.log('losing');
}
function isPercentage(val) {
  if (val < 0) {
    return false;
  }

  if (val > 100) {
    return false;
  }

  return true;
}

​ 避免使用:

function isPercentage(val) {
  if (val >= 0) {
    if (val < 100) {
      return true;
    } else {
      return false;
    }
  } else {
    return false;
  }
}
比如:callback(err, param1, param2, callback)
function writeForumComment(subject, body) {
  subject = subject || 'No Subject';
  body = body || 'No text';
}

​ 使用下面方法替代

function writeForumComment(subject = 'No subject', body = 'No text') {
  ...
}

​ 使用控制流程模块(如 async)

​ 建议使用async.waterfall 和 async.parallel 解决回调问题

​ 无异步操作的function可使用return,有异步操作的function使用return会出现无返回值的问题.如不熟悉回调机制,建议全部使用callback回调

声明: 本文采用 BY-NC-SA 授权。转载请注明转自: levy