转自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”。方法若是返回一个类,则应该在名称上说明返回什么;若是是一个过程,则应该说明作了什么。