欢迎来到天天文库
浏览记录
ID:14082659
大小:78.50 KB
页数:8页
时间:2018-07-25
《dojo_javascript_编码规范》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JavaScript 编码规范(Dojo)前言所有的代码都要变成可供他人容易阅读的。Anyviolationtothisguideisallowedifitenhancesreadability.规范目的为提高团队协作效率,便于程序人员添加功能以及前端后期优化维护,输出高质量的产品,特制订此文档;本文档一经确认,前端开发人员必须按照本文档所提及的规范进行前台页面的开发,同时,本文档如有不合适的地方也请指出,经讨论决定后方可修改。快读参考核心API请使用下面的风格:结构规则注释模块小写不要使用多重语义(Nevermultiplewor
2、ds)类驼峰demoCase公有方法混合其他的外部调用也可以使用lower_case(),这样的风格公有变量混合常量大写DEMO_HEIGHT下面的虽然不是必要的,但建议使用:结构规则私有方法混合,例子:_mixedCase私有变量混合,例子:_mixedCase方法(method)参数混合,例子:_mixedCase,mixedCase本地(local)变量混合,例子:_mixedCase,mixedCase命名规范1、变量名称必须为小写字母。2、类的命名使用骆驼命名规则,例如:Account,EventHandler3、常量必须
3、在对象(类)或者枚举变量的前部声明。枚举变量的命名必须要有实际的意义,并且其成员必须使用大写:varNodeTypes={Element:1,DOCUMENT:2}4、简写单词不能使用大写名称作为变量名:getInnerHtml(),getXml(),XmlDocument5、方法的命令必须为动词或者是动词短语:obj.getSomeValue()6、公有类的命名必须使用混合名称(mixedCase)命名。7、CSS变量的命名必须使用其对应的相同的公共类变量。8、私有类的变量属性成员必须使用混合名称(mixedCase)命名,并前面
4、下下划线(_)。例如:varMyClass=function(){var_buffer;this.doSomething=function(){};}9、变量如果设置为私有,则前面必须添加下划线。this._somePrivateVariable=statement;10、通用的变量必须使用与其名字一致的类型名称:setTopic(topic)//变量topic为Topic类型的变量11、所有的变量名必须使用英文名称。12、变量如有较广的作用域(largescope),必须使用全局变量;此时可以设计成一个类的成员。相对的如作用域较小
5、或为私有变量则使用简洁的单词命名。13、如果变量有其隐含的返回值,则避免使用其相似的方法:getHandler();//避免使用getEventHandler()14、公有变量必须清楚的表达其自身的属性,避免字义含糊不清,例如:MouseEventHandler,而非MseEvtHdlr。请再次注意这条规定,这样做得的好处是非常明显的。它能明确的表达表达式所定义的含义。例如:mo.events.mouse.Handler//而非mo.events.mouse.MouseEventHandler15、类/构造函数可以使用扩展其基类的名
6、称命名,这样可以正确、迅速的找到其基类的名称:EventHandlerUIEventHandlerMouseEventHandler基类可以在明确描述其属性的前提下,缩减其命名:MouseEventHandlerasopposedtoMouseUIEventHandler.特殊命名规范1、术语"get/set"不要和一个字段相连,除非它被定义为私有变量。2、前面加"is"的变量名应该为布尔值,同理可以为"has","can"或者"should"。3、术语"compute"作为变量名应为已经计算完成的变量。4、术语"find"作为变量
7、名应为已经查找完成的变量。5、术语"initialize"或者"init"作为变量名应为已经实例化(初始化)完成的类或者其他类型的变量。6、UI(用户界面)控制变量应在名称后加控制类型,例如:leftComboBox,TopScrollPane。7、复数必须有其公共的名称约定(原文:PluralformMUSTbeusedtonamecollections)。8、带有"num"或者"count"开头的变量名约定为数字(对象)。9、重复变量建议使用"i","j","k"(依次类推)等名称的变量。10、补充用语必须使用补充词,例如:ge
8、t/set,add/remove,create/destroy,start/stop,insert/delete,begin/end,etc.11、能缩写的名称尽量使用缩写。12、避免产生歧义的布尔变量名称,例如:isNotError
此文档下载收益归作者所有