Node.js Style Guide
2015-09-01 10:40:29   0  举报             
     
         
 AI智能生成
  Node.js Style Guide 来自https://github.com/felixge/node-style-guide
    作者其他创作
 大纲/内容
  条件    
     用描述语言表示条件:
var isValidPassword = password.length >= 4
    && /^(?=.*\d).{4,}$/.test(password);
if (isValidPassword) {
  console.log('winning');
}  
     三目运算:
var foo = (a === b)
  ? 1
  : 2;  
     使用 === operator  
     函数    
     函数返回尽量早:
正确:
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;
  }
}  
     函数短小,最好不要超过15行  
     Closure    
     为closures命名:
正确:
req.on('end', function onEnd() {
  ...
});
错误:
req.on('end', function() {
  ...
});  
     尽量不要嵌套closures  
     不要修改 built-in prototypes  
     Comment一定详实  
     格式    
     每行80个字  
     结尾用分号  
     缩进2 Spaces  
     结尾无空白字符  
     用单引号,不要双引号,除非是JSON  
     圆括号,花括号的格式:
if (true) {
  console.log('winning');
}  
     Method chaining:
User
  .findOne({ name: 'foo' })
  .populate('bar')
  .exec(function(err, user) {
    return true;
  });  
     变量    
     每行定义一个变量,不要用逗号
var keys   = ['foo', 'bar'];
var values = [23, 42];  
     用骆驼式名字定义变量,函数,class  
     常量Constants全用大写  
     创建Object / Array:
var a = ['hello', 'world'];
var b = {
  good: 'code',
  'is generally': 'pretty',
};  
     禁    
     同这些函数保持距离:
Object.freeze
Object.preventExtensions
Object.seal
with
eval  
     不要使用setter,但getter可随便  
    
 
 
 
 
  0 条评论
 下一页
  
   
   
   
  
  
  
  
  
  
  
  
  
  
 