nodejs編程規範

node開發須要編程規範嗎?

  1. js的靈活性很是大,若是開發人員每一個人都按本身的習慣隨意編寫,js的代碼會很是混亂不堪。js程序員須要更強的自律性和規範,才能寫出易讀性,易維護的代碼。html

  2. 隨着前端mvc的崛起,前端的js代碼會更加龐大難以管理,若是沒有統一的規範,後期維護會比登天還難。前端

編碼規範

  1. 縮進
    採用兩個空格縮進,在編輯器中設置tab爲兩個空格node

  2. 變量聲明程序員

  • 用var聲明變量web

    var assert = require('assert');
    var fork = require('child_process').fork;
    var net = require('net');編程

  • 錯誤實例:json

    var assert = require('assert')
    , fork = require('child_process').fork
    , net = require('net');數組

  • 用字面量聲明方式mvc

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

  • 避免使用:

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

  • 不要在for循環等循環裏聲明var變量
    首先var是函數做用域,在循環聲明之後只有等函數聲明週期結束這些資源纔會釋放

  1. 空格
    在操做符先後須要加上空格,= 、% 、* 、- 、+ 先後都應該加一個空格

好比:var foo = 'bar' + baz;
錯誤實例:var foo='bar'+baz;

  1. 單雙引號的使用
    在node中儘可能使用單引號,

var html = '<a href="http://cnodejs.org">CNode</a>';

在json中使用雙引號

  1. 分號
    給表達式結尾加分號,儘管js會自動在行尾加上分號,可是會產生一些誤解

命名規範

在編碼中,命名是重頭戲。好的命名可使代碼賞心悅目,具備良好的維護性。

  1. 變量命名
    變量名採用小駝峯命名,單詞之間沒有任何符號如:

var adminUser = {};
var callNum = 2134323;
  1. 方法命名
    也是採用小駝峯命名,與變量不一樣的是採用動詞或判斷行詞彙,如:

var getUser = function(){};
var isAdmin = function(){};
var findUser = function(){};
  1. 類命名
    類名採用大駝峯,全部單詞首字母大寫,如:

function User{
}
  1. 常量命名
    做爲常量,單詞全部字母大寫,用下劃線分割,如:

var PINK_COLOR = "PINK";
  1. 文件命名
    命名文件時,儘可能使用下劃線分割單詞,好比child_process.js和string_decode.js

  2. 包名
    在包名中儘可能不要包含js和node的字樣,應當適當短而且有意義

其它要點

  1. 做用域
    慎用with和eval(),容易引發做用域混亂

  2. 比較操做
    儘可能使用===代替==,不然會遇到下面的狀況,

'0'==0;//true;
 ''==0;//true;
 '0'===''//false;
  1. 嚴格模式
    在node後臺中儘可能全使用嚴格模式

'use strict';
  1. 對象和數組遍歷
    數組遍歷使用普通for循環,避免使用for in對數組遍歷,對象的遍歷使用for in

項目中實踐

  1. sublime和webstorm都有JSLint,JSHint這樣的代碼質量工具,在配置文件中制定好模板規範便可

  2. 在版本控制工具中設置hook,在precommit的腳本中設置,若是代碼不符合標準,就沒法提交

參考文獻

  1. 深刻淺出nodejs

  2. js祕密花園

  3. js高級編程

若是文章對你有幫助,請去個人我的博客留個言吧! 個人博客

相關文章
相關標籤/搜索