知識社群登入
程式撰寫規範
by 蘇德宙, 2012-05-20 23:21, 人氣(1714)
減少全域變數
一律使用 var
未宣告就使用的變數, ex
function foo() {
  var a = b = 0;  // b 未宣告,所以是global
}


變數宣告時同時初始化
1. 在函數一開始就宣告
   - 被定義的變數只須尋找單一地方
   - 避免困擾,任何地方宣告都等同於一開始就宣告的特性 (hoisting)
2. 初始化,提升可讀性
   var a = 1,      // a 是一個數字
       b = "str"; // b 是一個字串


縮排
4 個空白


大括號
永遠都加,即使只有一行的敘述 (換行)
if (true) {
  ...
}
這可以避免行尾自動加 ; 號的問題,例如
function func() {
   return   // return undefined, 並且以下不會執行!
   {
       name: "tcsu"
   }
}

PS: 同一行則不用加,例如 if (error) return false;


空格
為了閱讀上更清晰的目的,每個 , 號後面要留白
for (var i=0; i<max; i++) { ... }


命名
建構式微首字母大寫, var a = new Person(); 看名稱就可以區隔函數
變數: lastIndex (camel case,第二個詞以後的第一個字母大寫)
全域變數: gMax (g 開頭,容易被識別出來,盡量不使用全域變數)
常數: PI = 3.14 (全大寫)
private: _name (底線開頭,警告開發者不要直接使用)