资讯专栏INFORMATION COLUMN

nodejs编程规范

Tony_Zby / 3410人阅读

摘要:开发需要编程规范吗的灵活性非常大,如果开发人员每个人都按自己的习惯随意编写,的代码会非常混乱不堪。程序员需要更强的自律性和规范,才能写出易读性,易维护的代码。

node开发需要编程规范吗?

js的灵活性非常大,如果开发人员每个人都按自己的习惯随意编写,js的代码会非常混乱不堪。js程序员需要更强的自律性和规范,才能写出易读性,易维护的代码。

随着前端mvc的崛起,前端的js代码会更加庞大难以管理,如果没有统一的规范,后期维护会比登天还难。

编码规范

缩进
采用两个空格缩进,在编辑器中设置tab为两个空格

变量声明

用var声明变量

var assert = require("assert");
var fork = require("child_process").fork;
var net = require("net");

错误实例:

var assert = require("assert")
, fork = require("child_process").fork
, net = require("net");

用字面量声明方式

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

不要在for循环等循环里声明var变量
首先var是函数作用域,在循环声明以后只有等函数声明周期结束这些资源才会释放

空格
在操作符前后需要加上空格,= 、% 、* 、- 、+ 前后都应该加一个空格

比如:var foo = "bar" + baz;
错误实例:var foo="bar"+baz;

单双引号的使用
在node中尽量使用单引号,

var html = "CNode";

在json中使用双引号

分号
给表达式结尾加分号,尽管js会自动在行尾加上分号,但是会产生一些误解

命名规范

在编码中,命名是重头戏。好的命名可以使代码赏心悦目,具有良好的维护性。

变量命名
变量名采用小驼峰命名,单词之间没有任何符号如:

var adminUser = {};
var callNum = 2134323;

方法命名
也是采用小驼峰命名,与变量不同的是采用动词或判断行词汇,如:

var getUser = function(){};
var isAdmin = function(){};
var findUser = function(){};

类命名
类名采用大驼峰,所有单词首字母大写,如:

function User{
}

常量命名
作为常量,单词所有字母大写,用下划线分割,如:

var PINK_COLOR = "PINK";

文件命名
命名文件时,尽量使用下划线分割单词,比如child_process.js和string_decode.js

包名
在包名中尽量不要包含js和node的字样,应当适当短并且有意义

其它要点

作用域
慎用with和eval(),容易引起作用域混乱

比较操作
尽量使用===代替==,否则会遇到下面的情况,

 "0"==0;//true;
 ""==0;//true;
 "0"===""//false;

严格模式
在node后台中尽量全使用严格模式

"use strict";

对象和数组遍历
数组遍历使用普通for循环,避免使用for in对数组遍历,对象的遍历使用for in

项目中实践

sublime和webstorm都有JSLint,JSHint这样的代码质量工具,在配置文件中制定好模板规范即可

在版本控制工具中设置hook,在precommit的脚本中设置,如果代码不符合标准,就无法提交

参考文献

深入浅出nodejs

js秘密花园

js高级编程

如果文章对你有帮助,请去我的个人博客留个言吧! 我的博客

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79873.html

相关文章

  • 前端资源系列(4)-前端学习资源分享&前端面试资源汇总

    摘要:特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 本以为自己收藏的站点多,可以很快搞定,没想到一入汇总深似海。还有很多不足&遗漏的地方,欢迎补充。有错误的地方,还请斧正... 托管: welcome to git,欢迎交流,感谢star 有好友反应和斧正,会及时更新,平时业务工作时也会不定期更...

    princekin 评论0 收藏0
  • 前端人员必须知道的三个问题

    摘要:第一个问题前端都做哪些事呢,前端都需要哪些技术呢前端发展的三个阶段初级阶段入门常见标签,新增的,语义化标签等等选择器,背景,文本,链接,列表,盒模型,定位,浮动,新增的属性栅格化系统,按钮,表单,导航数据类型,对象,函数,运算符,语句,,选 第一个问题:前端都做哪些事呢,前端都需要哪些技术呢 前端发展的三个阶段: 初级阶段:(入门) html:常见标签,html5新增的,语义化标签等等...

    zollero 评论0 收藏0
  • 前端人员必须知道的三个问题

    摘要:第一个问题前端都做哪些事呢,前端都需要哪些技术呢前端发展的三个阶段初级阶段入门常见标签,新增的,语义化标签等等选择器,背景,文本,链接,列表,盒模型,定位,浮动,新增的属性栅格化系统,按钮,表单,导航数据类型,对象,函数,运算符,语句,,选 第一个问题:前端都做哪些事呢,前端都需要哪些技术呢 前端发展的三个阶段: 初级阶段:(入门) html:常见标签,html5新增的,语义化标签等等...

    王晗 评论0 收藏0
  • 前端人员必须知道的三个问题

    摘要:第一个问题前端都做哪些事呢,前端都需要哪些技术呢前端发展的三个阶段初级阶段入门常见标签,新增的,语义化标签等等选择器,背景,文本,链接,列表,盒模型,定位,浮动,新增的属性栅格化系统,按钮,表单,导航数据类型,对象,函数,运算符,语句,,选 第一个问题:前端都做哪些事呢,前端都需要哪些技术呢 前端发展的三个阶段: 初级阶段:(入门) html:常见标签,html5新增的,语义化标签等等...

    jeffrey_up 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<