Dojo Javascript編程規範

來源:互聯網
上載者:User

前言

相當不錯的 Javascript 編程風格規範,建議大家採用此規範編寫 Javascript。原文連結:http://dojotoolkit.org/developer/StyleGuide 。

翻譯(Translated by):i.feelinglucky{at}gmail.com from http://www.gracecode.com ,轉載請註明出處、作者和翻譯者,謝謝配合。

本文地址:http://code.google.com/p/grace/wiki/DojoStyle 。

Any violation to this guide is allowed if it enhances readability.

所有的代碼都要變成可供他人容易閱讀的。

快讀參考

核心 API 請使用下面的風格:

結構 規則 注釋
模組 小寫 不要使用多重語義(Never multiple words)
駱駝  
公有方法 混合 其他的外部調用也可以使用 lower_case(),這樣的風格
公有變數 混合  
常量 駱駝 或 大寫

下面的雖然不是必要的,但建議使用:

結構 規則
私人方法 混合,例子:_mixedCase
私人變數 混合,例子:_mixedCase
方法(method)參數 混合,例子:_mixedCase, mixedCase
本地(local)變數 混合,例子:_mixedCase, mixedCase

命名規範

變數名稱 必須為 小寫字母。

類的命名使用駱駝命名規則,例如:

Account, EventHandler

常量 必須 在對象(類)或者枚舉變數的前部聲明。枚舉變數的命名必須要有實際的意義,並且其成員 必須 使用駱駝命名規則或使用大寫:

var NodeTypes = {
Element : 1,
DOCUMENT: 2
}

簡寫單詞 不能使用 大寫名稱作為變數名:

getInnerHtml(), getXml(), XmlDocument

方法的命令 必須 為動詞或者是動詞短語:

obj.getSomeValue()

公有類的命名 必須 使用混合名稱(mixedCase)命名。

CSS 變數的命名 必須 使用其對應的相同的公用類變數。

私人類的變數屬性成員 必須 使用混合名稱(mixedCase)命名,並前面下底線(_)。例如:

var MyClass = function(){
var _buffer;
this.doSomething = function(){
};
}

變數如果設定為私人,則前面 必須 添加底線。

this._somePrivateVariable = statement;

通用的變數 必須 使用與其名字一致的類型名稱:

setTopic(topic) // 變數 topic 為 Topic 類型的變數

所有的變數名 必須 使用英文名稱。

變數如有較廣的範圍(large scope),必須使用全域變數;此時可以設計成一個類的成員。相對的如範圍較小或為私人變數則使用簡潔的單詞命名。

如果變數有其隱含的傳回值,則避免使用其相似的方法:

getHandler(); // 避免使用 getEventHandler()

公有變數必須清楚的表達其自身的屬性,避免字義含糊不清,例如:

MouseEventHandler,而非 MseEvtHdlr

請再次注意這條規定,這樣做得的好處是非常明顯的。它能明確的表達運算式所定義的含義。例如:

dojo.events.mouse.Handler // 而非 dojo.events.mouse.MouseEventHandler

類/建構函式 可以使用 擴充其基類的名稱命名,這樣可以正確、迅速的找到其基類的名稱:

EventHandler

UIEventHandler

MouseEventHandler

基類可以在明確描述其屬性的前提下,縮減其命名:

MouseEventHandler as opposed to MouseUIEventHandler.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.