空格,

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);

Node 编程规范的更多相关文章

  1. flex+AS3编程规范

    flex+AS3编程规范 Flex+AS3编码规范 http://www.cnblogs.com/jiahuafu/   1.  缩写: 尽量避免使用缩写,使用缩写时尽量和Flex保持一致.但要记住一 ...

  2. JavaScript编程规范

    最近看NodeJS中,有一部分写JS约定俗成的编程规范(附录B,详情参考附件),感觉在实际工作中能用到, 大致意思分享给大家,详情参考附件: 1.缩进:建议两空格 作为Node.js代码的缩进标记: ...

  3. javascript模块化编程规范

    一.javascript模块化编程规范: 二.关于commenjs规范和AMD规范: 根本不同:前者用于服务器端同步加载模块:后者是客户端异步加载模块. 同点:两者都有一个全局函数require(), ...

  4. Javascript模块化编程-规范[2]

    实现Javascript模块化,固然很重要,但是怎样才能实现国际上都能认可的模块化呢?模块化编程规范随应运而生. 目前Javascript模块化规范主要有两种:CommonJS和AMD. Common ...

  5. Batsing的网页编程规范(HTML/CSS/JS/PHP)

    特别注意!!!我这里的前端编程规范不苟同于Bootstrap的前端规范. 因为我和它的目的不同,Bootstrap规范是极简主义,甚至有些没有考虑到兼容性的问题. 我的规范是自己从编程实践中总结出来的 ...

  6. JAVA编程规范(下)

    JAVA编程规范(下) 2016-03-27 6. 代码的格式化 6.1 对代码进行格式化时,要达到的目的 1.     通过代码分割成功能块和便于理解的代码段,使代码更容易阅读和理解: 2.     ...

  7. JAVA 编程规范(上)

    2016-03-20 J120-CHARLIEPAN JAVA 编程规范(上) 1.      应用范围 本规范应用于采用J2EE规范的项目中,所有项目中的JAVA代码(含JSP,SERVLET,JA ...

  8. 使Eclipse符合Java编程规范

    编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展. 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情.将Eclipse设置为符合公司编程 ...

  9. Python编程规范(PEP8)

    Python编程规范(PEP8) 代码布局 缩进 对于每一次缩进使用4个空格.使用括号.中括号.大括号进行垂直对齐,或者缩进对齐. 制表符还是空格? 永远不要将制表符与空格混合使用.Python最常用 ...

随机推荐

  1. 关于使用FusionCharts生成图表时出现invalid xml data错误提示的解决方法

    FusionCharts的确功能是够强大的.收集的功能估计更强大.在初次使用时,对着手册,一步一步操作,就是生成图表工具不成功.一直报"Invalid xml data"错误.后面 ...

  2. 安装Oracle问题总结

    Oracle安装很多次,这次是最郁闷. 第一次安装失败,考虑可能是软件问题(以往学生给的软件),重新从官网下载 快下载完时,360清理电脑垃圾空间,手残,关闭浏览器,又开始重新下载 下载的同时,我开始 ...

  3. yii2得到的数据对象转化成数组

    yii2得到的数据对象转化成数组需要用到asArray().1.Customer::find(['id' => $id])->asArray()->one();2.$model = ...

  4. Ansible 学习笔记

    最近因为需要管理很多台机器,而这些机器又需要频繁重新安装,实在受不了Puppet需要在每个客户机上都安装一遍,于是转头开始学些Ansible.根据这段时间的使用,这个确实是神器,唯一的感觉就是相见恨晚 ...

  5. [原] VS新添加WebApplication项目,无法运行,请求帮助,问题如何解决

    最近在WIN10 Pro上安装运行VS2012(安装顺利),新建WebApplication项目,无法运行,编译都无法通过,但都是警告. 症状: 1.新建项目无法编译: 2.新建后,默认引用全部感叹号 ...

  6. windows防火墙命令

    删除防火墙:netsh advfirewall firewall delete rule name=%gate_rule_name% 添加防火墙:netsh advfirewall firewall ...

  7. Motor XT615 开机无限卡屏重启的取证与分析

    hello,大家好! 今天我给大家你们带来摩托罗拉 XT615 开机无限卡屏重启的取证与分析, 手机开机后卡屏,一直停留下面这画面,无限重启! 接下来,经过我们工程师的分析,图上报错必定由于机身程序太 ...

  8. [已解决] git 重命名文件夹

    git mv oldfolder newfolder 原文地址:http://www.cnblogs.com/gifisan/p/5980608.html

  9. Hibernate5.1.0的hello word

    新建一个JavaProject(不一定非要web工程) 在工程里面新建一个文件夹lib,用来存放jar包 找到Hibernate的下载文件,解压后找到required文件夹,这是需要的jar包 添加到 ...

  10. JPG转TIFF

    最近有个项目需要用到开源软件GeoServer,数据源是一张高分辨率的2.5维图片,格式是jpg的,由于GeoServer不支持jpg格式的发布,因此考虑到要进行格式转换,将其转换成tiff格式. 1 ...