zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    bzoj1042: [HAOI2008]硬币购物(DP+容斥)
    bzoj3680: 吊打XXX(模拟退火)
    bzoj1867: [Noi1999]钉子和小球(DP)
    iOS怎样获取任何App的资源图片?
    iOS常用第三方库
    iOS应用上架报错解决
    iOS视频直播用到的协议
    iOS开发常用第三方框架
    iOS 打包Framework包含其他Framework的问题
    http和https的区别
  • 原文地址:https://www.cnblogs.com/moveofgod/p/5387720.html
Copyright © 2011-2022 走看看