編寫可維護的JavaScript代碼風格

編寫可維護的JavaScript

結合自己的代碼習慣給出推薦的代碼風格

一、格式化

  1. 縮進4個空格
  2. 語句結尾分號不要省略
  3. 行的長度不要超過80
  4. 超長換行時,在運算符後換行,下一行增加兩個層級的縮進;
callAFuction(document, element, window, “some string value”, true, 123,
		navigator);

如果是賦值,則保持第二行位置與賦值運算符位置對齊

Var result = something + anotherThing + yetAnotherThing + somethingElse + 
		   	 anotherSomethingElse;
  1. 空行
    在方法之間;在方法中的局部變量和第一條語句之間;在多行或單行註釋之前;在方法的邏輯片段之間

插入空行,提高可讀性。

二、命名

  1. 變量函數:小駝峯式命名, 變量儘量短但要有語義,在名字中體現數據類型,比如count, length, size表示數字類型,name, titile, message表示字符串,i, j, k表示循環變量,避免用foo, bar, tmp此類無意義的命名;函數和方法可用動詞表示,比如一些常見前綴can, has, is, get, set;
if (isEnabled()) {
	setName(“Nicholas”);
} 
If (getName() === “Nicholas”) {
	doSomething();
}
  1. 常量,使用大寫字母和下劃線命名,比如MAX_COUNT, URL
  2. 構造函數,大駝峯命名

三、註釋

  1. 代碼很清晰時無需註釋
  2. 難理解的代碼加註釋
  3. 可能被誤會是錯誤時加註釋

四、塊語句

if (condition) {
	doSomething();
}
  1. if後的空格
  2. 即使一行代碼也不要省掉{}
  3. {跟在if的一行
  4. 縮進與分號

五、循環

  1. 推薦for循環中儘量用if語句來代替continue的邏輯,更易閱讀
  2. for-in循環是用來遍歷對象的,不該用來遍歷數組

六、變量、函數和運算符

  1. 推薦將所有的變量聲明放在函數頂部而不是散落在各個角落
  2. 不推薦在函數內聲明函數
  3. 不推薦在語句塊內聲明函數
  4. doSomething (item); 不推薦,看起來像一個塊語句while (item) {…

七、分離html/css/javascript

  1. 不要用Css表達式
  2. 不要在html裏寫內聯Javascript
  3. 不要在javascript中修改css屬性,可以修改classname
  4. 不要在javascript中直接修改html,可用模板定義

八、儘量少使用全局變量

九、避免用空比較value !== null

用*typeof, instanceof, Object.prototype.toString.call(value)*來檢測值

十、將配置數據從代碼中分離出來

  1. URL
  2. 需要展現給用戶的字符串
  3. 重複的值
  4. 設置(比如每頁的配置項)
  5. 任何可能發生變更的值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章