轉自http://blog.bingo929.com/dojo-javascript-style-guide.htmljavascript
前言html
良好的JavaScript書寫習慣的優勢不言而喻,今天彬Go向你們推薦Dojo Javascript 編程規範,至關不錯的 Javascript 編程風格規範,建議你們能夠借鑑一下此規範編寫 Javascript。感謝i.feelinglucky的翻譯。java
序編程
Any violation to this guide is allowed if it enhances readability.ide
全部的代碼都要變成可供他人容易閱讀的。函數
快讀參考ui
核心 API 請使用下面的風格:this
結構 | 規則 | 註釋 |
模塊 | 小寫 | 不要使用多重語義(Never multiple words) |
類 | 駱駝 | |
公有方法 | 混合 | 其餘的外部調用也能夠使用 lower_case(),這樣的風格 |
公有變量 | 混合 | |
常量 | 駱駝 或 大寫 |
下面的雖然不是必要的,但建議使用:spa
結構 | 規則 |
私有方法 | 混合,例子:_mixedCase |
私有變量 | 混合,例子:_mixedCase |
方法(method)參數 | 混合,例子:_mixedCase, mixedCase |
本地(local)變量 | 混合,例子:_mixedCase, mixedCase |
命名規範翻譯
1.變量名稱 必須爲 小寫字母。
2.類的命名使用駱駝命名規則,例如:
Account, EventHandler
|
3.常量 必須 在對象(類)或者枚舉變量的前部聲明。枚舉變量的命名必需要有實際的意義,而且其成員 必須 使用駱駝命名規則或使用大寫:
|
var NodeTypes ={
Element :1, DOCUMENT:2 } |
4.簡寫單詞 不能使用 大寫名稱做爲變量名:
getInnerHtml(), getXml(), XmlDocument
5.方法的命令 必須 爲動詞或者是動詞短語:
obj.getSomeValue()
6.公有類的命名 必須 使用混合名稱(mixedCase)命名。
7.CSS 變量的命名 必須 使用其對應的相同的公共類變量。
8.私有類的變量屬性成員 必須 使用混合名稱(mixedCase)命名,並前面下下劃線(_)。例如:
}
9.變量若是設置爲私有,則前面 必須 添加下劃線。
this._somePrivateVariable = statement;
10.通用的變量 必須 使用與其名字一致的類型名稱:
setTopic(topic)// 變量 topic 爲 Topic 類型的變量
11.全部的變量名 必須 使用英文名稱。
12.變量若有較廣的做用域(large scope),必須使用全局變量;此時能夠設計成一個類的成員。相對的如做用域較小或爲私有變量則使用簡潔的單詞命名。
13.若是變量有其隱含的返回值,則避免使用其類似的方法:
getHandler();// 避免使用 getEventHandler()
14.公有變量必須清楚的表達其自身的屬性,避免字義含糊不清,例如:
MouseEventHandler
,而非 MseEvtHdlr。
請再次注意這條規定,這樣作得的好處是很是明顯的。它能明確的表達表達式所定義的含義。
15.類/構造函數 能夠使用 擴展其基類的名稱命名,這樣能夠正確、迅速的找到其基類的名稱:
EventHandler
UIEventHandler
MouseEventHandler
基類能夠在明確描述其屬性的前提下,縮減其命名:
MouseEventHandler as opposed to MouseUIEventHandler.
特殊命名規範
術語 「get/set」 不要和一個字段相連,除非它被定義爲私有變量。前面加 「is」 的變量名 應該 爲布爾值,同理能夠爲 「has」, 「can」 或者 「should」。術語 「compute」 做爲變量名應爲已經計算完成的變量。術語 「find」 做爲變量名應爲已經查找完成的變量。術語 「initialize」 或者 「init」 做爲變量名應爲已經實例化(初始化)完成的類或者其餘類型的變量。UI (用戶界面)控制變量應在名稱後加控制類型,例如: leftComboBox, TopScrollPane。複數必須有其公共的名稱約定(原文:Plural form MUST be used to name collections)。帶有 「num」 或者 「count」 開頭的變量名約定爲數字(對象)。重複變量建議使用 「i」, 「j」, 「k」 (依次類推)等名稱的變量。補充用語必須使用補充詞,例如: get/set, add/remove, create/destroy, start/stop, insert/delete, begin/end, etc.能縮寫的名稱儘可能使用縮寫。避免產生歧義的布爾變量名稱,例如: isNotError, isNotFound 爲非法錯誤類建議在變量名稱後加上 「Exception」 或者 「Error」。方法若是返回一個類,則應該在名稱上說明返回什麼;若是是一個過程,則應該說明作了什麼。