若是你看過Nicolas C.Zakas寫過的任何做品,你必須認可他是個徹徹底底的天才。也只有天才級的才能寫出《JavaScript高級程序設計》讓全部的前端攻城師人手一本。Nicolas C.Zakas除了對現代JavaScrpt技術的詳細講解,還倡導了不少最佳實踐,包括漸進加強、可訪問性、性能、擴展性和可維護性等。前端
編寫可維護的Javascript就意味着:消滅團隊個體的差別達成總體的統一,以保持你們的代碼風格一致和可讀的、可維護性的、可擴展的。因此該系列收納架作一個收納整理。編程
書從編碼風格、編程實踐以及自動化3個部分來說。ide
第一部分 編程風格函數
編程風格的肯定會促成整個團隊成員的高水準運做,由於全部的代碼風格看起來極爲相似就如同一我的編寫。性能
在團隊開發中,編程風格一致性變得尤其重要,緣由有:編碼
JSLint 和 JSHint 是兩個檢查編程風格的工做。不只找出代碼中潛在的錯誤,還能對潛在的風格問題給予提示警告。JSLint是屬於「頑固派」不接受你的自定義也就是不會爲你作任何改變;JSHint是屬於「受教派」能夠接受你的自定義個性化的檢查。spa
第一章 基本的格式化設計
編程風格的核心就是基本的格式化規範,這些規範決定着如何編寫高水準的代碼。code
1.1 縮進層級blog
縮進沒有統一的共識二分紅兩派:
// 原始代碼 function getData() { return { title:"JavaScript", ... } } // 分析器將理解成 function getData() { return; { title:"JavaScript", ... } } // 推薦寫法 function getData() { return { title:"JavaScript", ... } }
1.3 行的長度
行的長度不該該超過80個字符。
1.4 換行
當一行達到了單行最大字符數或超過單屏時,應該手動換行。推薦在運算符後換行,下一行需增長兩個層級的縮進(兩個Tab/8個字符)]
1.5 空行
空行推薦使用在:
// 不推薦寫法 if(wl && wl.length){ for (i=0,l=wl.length;i<l;++i) { ... } } // 推薦寫法 if(wl && wl.length){ for (i=0,l=wl.length;i<l;++i) { ... } }
1.6 命名
JavaScripe 核心 ECMAScript,便是遵守了駝峯式大小寫。
1.6.1 變量和函數
變量名老是應該遵循駝峯大小寫命名法,而且命名的前綴應當是名詞,使得能夠將變量和函數區分開。 如:
// 不推薦寫法: 變量看起來像函數 var getCount=10; var isFound=true; // 推薦寫法 var count=10; var found=true;
命名長度儘量短並能看詞知意。
常見參考:
// 這是個人我的約定跟本書不一樣(書是C語言使用大寫字母和下劃線命名) var MaxCount=100; var Url="http://www.cnblogs.com/";
1.6.3 構造函數
構造函數的命名是遵守 UpperCamelCase(大駝峯)命名法。
1.7 直接量
《-未完 待續-》