- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Dojo JavaScript 编码范例
JavaScript?编码规范(Dojo)
前言
所有的代码都要变成可供他人容易阅读的。
Any violation to this guide is allowed if it enhances readability.
规范目的
为提高团队协作效率,便于程序人员添加功能以及前端后期优化维护,输出高质量的产品,特制订此文档;本文档一经确认,前端开发人员必须按照本文档所提及的规范进行前台页面的开发,同时,本文档如有不合适的地方也请指出,经讨论决定后方可修改。
快读参考
核心 API 请使用下面的风格:
结构 规则 注释 模块 小写 不要使用多重语义(Never multiple words) 类 驼峰 demoCase 公有方法 混合 其他的外部调用也可以使用 lower_case(),这样的风格 公有变量 混合 常量 大写 DEMO_HEIGHT
下面的虽然不是必要的,但建议使用:
结构 规则 私有方法 混合,例子:_mixedCase 私有变量 混合,例子:_mixedCase 方法(method)参数 混合,例子:_mixedCase,mixedCase 本地(local)变量 混合,例子:_mixedCase,mixedCase
命名规范
变量名称 必须为 小写字母。
类的命名使用骆驼命名规则,例如:
Account, EventHandler
常量 必须 在对象(类)或者枚举变量的前部声明。枚举变量的命名必须要有实际的意义,并且其成员 必须 使用大写:
var NodeTypes = {
Element : 1,
DOCUMENT: 2
}
简写单词 不能使用 大写名称作为变量名:
getInnerHtml(), getXml(), XmlDocument
5、方法的命令 必须 为动词或者是动词短语:
obj.getSomeValue()
6、公有类的命名 必须 使用混合名称(mixedCase)命名。
7、CSS 变量的命名 必须 使用其对应的相同的公共类变量。
8、私有类的变量属性成员 必须 使用混合名称(mixedCase)命名,并前面下下划线(_)。例如:
var MyClass = function(){
var _buffer;
this.doSomething = function(){
};
}
9、变量如果设置为私有,则前面 必须 添加下划线。
this._somePrivateVariable = statement;
10、通用的变量 必须 使用与其名字一致的类型名称:
setTopic(topic) // 变量 topic 为 Topic 类型的变量
11、所有的变量名 必须 使用英文名称。
12、变量如有较广的作用域(large scope),必须使用全局变量;此时可以设计成一个类的成员。相对的如作用域较小或为私有变量则使用简洁的单词命名。
13、如果变量有其隐含的返回值,则避免使用其相似的方法:
getHandler(); // 避免使用 getEventHandler()
14、公有变量必须清楚的表达其自身的属性,避免字义含糊不清,例如:
MouseEventHandler,而非 MseEvtHdlr。
请再次注意这条规定,这样做得的好处是非常明显的。它能明确的表达表达式所定义的含义。例如:
mo.events.mouse.Handler // 而非 mo.events.mouse.MouseEventHandler
15、类/构造函数 可以使用 扩展其基类的名称命名,这样可以正确、迅速的找到其基类的名称:
EventHandler
UIEventHandler
MouseEventHandler
基类可以在明确描述其属性的前提下,缩减其命名:
MouseEventHandler as opposed to MouseUIEventHandler.
特殊命名规范
1、术语 get/set 不要和一个字段相连,除非它被定义为私有变量。
2、前面加 is 的变量名 应该 为布尔值,同理可以为 has, can 或者 should。
3、术语 compute 作为变量名应为已经计算完成的变量。
4、术语 find 作为变量名应为已经查找完成的变量。
5、术语 initialize 或者 init 作为变量名应为已经实例化(初始化)完成的类或者其他类型的变量。
6、UI (用户界面)控制变量应在名称后加控制类型,例如: leftComboBox, TopScrollPane。
7、复数必须有其公共的名称约定(原文:Plural form MUST be used to name collections)。
8、带有 num 或者 co
文档评论(0)