【 tulaoshi.com - Web开发 】
前言
相当不错的 Javascript 编程风格规范,建议大家采用此规范编写 Javascript。原文链接: http://dojotoolkit.org/developer/StyleGuide 。
翻译(Translated by):feelinglucky{at}gmail.com,转载请注明出处、作者和翻译者,谢谢配合。
本文地址: http://code.google.com/p/grace/wiki/DojoStyle 。
序
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)Any violation to this guide is allowed if it enhances readability.
所有的代码都要变成可供他人容易阅读的。
快读参考
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)核心 API 请使用下面的风格:
结构 规则 注释
下面的虽然不是必要的,但建议使用:
结构 规则混合,例子: 混合,例子: 混合,例子: 混合,例子:
命名规范
变量名称 必须为 小写字母。 类的命名使用骆驼命名规则,例如:
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.