js注释规范.docx
《js注释规范.docx》由会员分享,可在线阅读,更多相关《js注释规范.docx(10页珍藏版)》请在冰豆网上搜索。
js注释规范
竭诚为您提供优质文档/双击可除
js注释规范
篇一:
js编码规范
js编码规范
原文:
codeconentionsforthejavascriptprogramminglanguage
这是一篇javascript编程代码规范,它由sun公司的文档codeconventionsforthejavaprogramminglanguage激发而来。
由于javascriptisnotjava,这篇规范和java规范相比有很大改动。
代码质量在软件质量中占很大比例。
在软件生命周期里,一个程序会被许多人接手。
如果一个程序可以很好的表达自己的结构和特性,则在
不久的将来修改它时就会减少程序崩溃的可能。
代码规范可以帮助减少程序的脆弱性。
我们所有的javascript代码都直接发布给公众,它应该具有发布质量。
neatnesscounts.
目录:
javascript文件
缩进
行宽
注释
变量声明
方法声明
命名
语句
-简单语句
-复合语句
-标签
-return语句
-if语句
-for语句
-while语句
-do语句
-switch语句
-try语句
-continue语句
-with语句
空格
额外的建议
-{}和[]
-逗号操作符
-块作用域
-赋值表达式
-===和!
==操作符
-令人混淆的加和减
-邪恶的eval
javascript文件
javascript程序应该作为一个.js文件存储和发布。
javascript代码不应该嵌入在html文件里,除非那些代码是一个单独的会话特有的。
html里的javascript代码大大增加了页面的大小,并且
很难通过缓存和压缩来缓解。
标签应该在body里越靠后的位置越好。
这减少了由于加载script而导致的其它页面组件的延迟。
没有必要使用
language或者type属性。
由服务器而不是script标签来决定mime类型。
缩进
缩进的最小单位是4个空格。
不要使用tab键,because(asofthiswritinginthe21stcentury)therestillisnotastandard
fortheplacementoftabstops.使用空格会引起文件变大,但是这点大小对局域网无关紧要,而且差别被minification消除了。
行宽
不要让一行代码超过80个字符。
当一条语句不能在单独一行写完时,可能有必要拆分它。
在操作符后进行拆分,最好是在逗号后面拆分。
操作符后面进行拆分减少了通过插入分号伪装copy-paste错误的可能性。
下一行应该缩进8个空格。
注释
慷慨的写注释。
留下一些供需要理解你做了什么的人们(可能是你自己)下次阅读的信息是有用的。
注释应该书写良好和清晰,就像它们
标注的代码一样。
偶尔小幽默一把也是可以的。
挫折和怨恨就别写了。
更新注释非常重要。
错误的注释让程序更难读懂和理解。
让注释有意义。
更多的关注于不能马上可见的东西。
不要用如下内容浪费读者的时间:
java代码
1.i=0;//setitozero.
一般使用行注释。
把块注释用于正式文档或外部注释。
变量声明
所有的变量应该在使用前声明。
javascript不强求这点,但是这样做会让程序更易读,并且会让探测未声明的可能变成隐式的globals的
变量更容易。
var语句应该为方法体内的第一个语句。
每个变量声明应该自己占一行并有注释。
它们应该按字母顺序排列。
java代码
1.varcurrententry;//currentylyselectedtableentry
2.varlevel;//indentationlevel
3.varsize;//sizeoftable
javascript没有块作用域,所以在块里定义变量可能会让有其它c家族语言经验的程序员迷惑。
在方法顶端定义所有变量。
尽量少使用全局变量。
隐式的全局变量应该从来不使用。
方法声明
所有的方法应该在它们使用前声明。
内部方法应该位于var语句后面。
这让哪些变量包含在它的scope里更清楚。
方法名和参数列表的“(”(左圆括号)之间不应该有空格。
在“)”(右圆括号)和“{”(左大括号)之间有一个空格。
方法体本身缩进4个空格。
“}”(右大括号)应该和方法声明处对齐。
java代码
1.functionouter(c,d){
2.vare=c*d;
3.
4.functioninner(a,b){
5.return(e*a)+b;
6.}
7.
8.returninner(0,1);
9.}
这个规范可以和javascript很好的工作,因为在javascript里方法和对象字面
量可以放在允许表达式的任何位置。
它使用内部方法和复杂
结构提供最好的可读性。
java代码
1.functiongetelementsbyclassname(classname){
2.varresults=[];
3.walkthedom(document.body,function(node){
4.vara;//arrayofclassnames
5.varc=node.classname;//thenodesclassname
6.vari;//loopcounter
7.//ifthenodehasaclassname,thensplititintoalistofs
implenames.
8.//ifanyofthemmatchtherequestedname,thenappendthenod
etothesetofresults.
9.if(c){
10.a=c.split();
11.for(i=0;i 12.if(a[i]===classname){
13.results.push(node);
14.break;
15.}
16.}
17.}
18.});
19.returnresults;
20.}
如果一个方法字面量为匿名的,则在“function”和“(”(左圆括号)之间应该有一个空格。
如果省略空格,则它可能看起来方法名是
“function”,而这是错误的。
java代码
1.div.onclick=function(e){
2.returnfalse;
3.};
4.that={
5.method:
function(){
6.returnthis.datum;
7.},
8.datum:
0;
9.};
尽量少用全局方法。
命名
命名应该由26个大小写字母(a..z,a..z),10个数字(0..9)和_(下划线)组成。
不要使用国际字符,因为它们可能不易读或者不能在
任何地方都能容易理解。
不要在名字里使用$(美元符号)或\(反斜线符号)。
不要使用_(下划线)作为名字的首字母。
它有时被用来表示私有,但是它实际上不提供私有性。
如果私有性很重要,使用提供私有性的privatemembers。
avoidcon(js注释规范)ventionsthatdemonstratealackofcompetence.
大多数变量和方法名应该以小写字母开始。
必须使用new前缀的构造函数应该以大写字母开始。
javascript不会在省略new时报编译期警告或运行时警告。
不使用new时会发生坏事情,所以大写首字母规范是我们拥有的唯一的防御。
全局变量应该全部使用大写字母。
(javascript没有宏或常量,所以没有多少要求使用大写字母来表示javascript的特性的场景)
语句
简单语句
每行应该包含至少一个语句。
在每个简单语句末尾添加一个“;”(分号)。
注意一个给方法字面量或对象字面量赋值的赋值语句仍然是
一个赋值语句,所以也必须以分号结尾。
javascript允许任何表达式作为语句使用。
这可能产生一些错误,特别是在插入分号时。
唯一可以当作语句使用的表达式是赋值表达式和
调用表达式。
复合语句
复合语句是包含一个用“{}”(大括号)包围语句列表的的语句。
1,包围的语句应该再缩进4个空格。
2,“{”(左大括号)应该位于开始复合语句的行的末尾。
3,“}”(右大括号)应该新起一行并且和相匹配的“{”所在那行的起始位置对齐
4,当语句是控制结构的一部分时,所有语句都应该用括号包围,即使是单行语句,例如if或for语句。
这让添加语句更容易而且不会引起八哥。
标签
语句标签是可选的。
只有如下语句需要被标签标识:
while,do,for,switch。
return语句
篇二:
js规范文档
alibabajapanjs开发规范
entry
1.全站采用jquery作为js库,版本和版本号:
1.2.6/mini,请不要修改此文件的任何内容。
对此文件的任何修改都将会通过邮件通知到每一个开发人员。
位置:
http:
//image.alibaba.co.jp/js/jquery.js。
2.公用common.js,用于基于全站的最通用和最基本的脚本(如顶部下拉菜单,底部添加到
收藏夹等),替代base.js,请不要修改此文件。
对此文件的任何修改都将会通过邮件通知到每一个开发人员。
位置:
http:
//image.alibaba.co.jp/js/common.js。
3.js代码必须基于jquery进行构建(新页面和被维护页面)
4.放弃使用prototype。
考虑到不可预料的冲突问题,网站禁止使用其它的js框架(包括yui),
新的头部文件将调用jquery.js和common.js文件。
5.js代码必须和xhtml结构分离。
1消息处理○2跟踪/统计代码○3js必须内置的特殊a)js独立于xhtml结构之外,除○
情况以外,js脚本必须分离于页面之外。
b)js脚本中的服务器变量/参数使用json进行脚本外置处理。
注意:
json方法请注意格式问题。
6.分离于页面之外的js文件必须采用utf-8无bom格式编码,否则极其容易出现不可预知
的乱码问题。
维护已存在的js脚本文件必须把非utf编码转换成规范要求的utf-8无bom格式。
7.事件监听采用jquery的高效监听机制。
除极其特殊的要求外,禁止在脚本中出现onclick,onfoucs等事件。
8.开发javascript必须考虑兼容性问题,至少兼容ie6/7,Firefox2/3,
主要表现在:
dom结构细微差异,event对象机制差异,以及少数内置方法差异方面。
9.拥有良好的注释习惯:
a)自己的代码核心部分要写明作用。
b)修改他人的代码和新增代码请注明日期和修改人,原注释根据需要删除或保留。
c)注释使用英文注释,非英文注释可能会导致意外的乱码问题。
d)js文件头,函数,算法等地方都必须加上注释。
10.格式请严格按照限定的格式书写。
a)禁止向标签添加language属性,必须加入type属性。
b)外部调用的js,确保先加载jquery.js再加载基于jquery开发的脚本,否则报错。
11.维护已有页面时候,必须修正旧有页面存在的不符合js规范的问题。
12.js文件必须按照它针对的功能模块进行分目录归档案。
js根目录位于:
\webroot\js:
a)基于全站的js文件存放到js根目录下;
b)
其它的js文件按照对应的功能进行存放如:
禁止按照项目名称或代号对js进行归档。
篇三:
js开发规范
js开发规范
北京华胜天成科技股份有限公司
20xx年6月
目录
一编码规范.....................................................................................................................................3
1.1空格...............................................................................................................................31.2注释...............................................................................................................................41.3空行...............................................................................................................................4二命名规则.....................................................................................................................................6
2.1约定.....................................................................................................................................62.2简单的应用程序命名规则.................................................................................................7三语句.............................................................................................................................................8
3.1表达式.................................................................................................................................83.2效率....................................................................................................................................8四函数设计.....................................................................................................................................8
4.1参数.....................................................................................................................................84.2返回值.................................................................................................................................94.3.其它建议.............................................................................................................................9五jsdoc注释规范..........................................................................................................................9六命名空间约定...........................................................................................................................10七文件命名...................................................................................................................................10附录一js注释模板.......................................................................................................................10附录二yuicompressor使用文档..............................................................................................10附录三jsdoctoolkit使用方法.....................................................................................................10
一编码规范
1.1空格
【规则1】括号“函数名之后不要留空格,紧跟左(”,以与关键字区别,
如:
样例:
alert(roast);//t和(之间无空格
【规则2】“,”之后要留空格。
如果“;”不是一行的结束符号,其后要留空
格,
如:
样例:
function(x,︵y,︵z);
For(initialization;︵condition;︵update)
【规则3】带参函数的“(”和“)”前后应当加空格,
如:
样例:
alert(︵“roast”︵);
【规则4】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,
如“=”、“+=”“>=”、“ 【规则6】关键字后面跟“(”时应该用一个空格隔开,
如:
样例:
for︵(︵vari=0;︵i 【规则7】如果函数是匿名函数,则在function和“(”之间应有一个空格。
如果
省略了空格,否则会让人感觉函数名叫作function,
如:
样例:
div.onclick=function(e){return{method:
function︵(){returnthis.datum;},datum:
0};
1.2注释
【规则1】如果代码本来就是清楚的,则不必加注释。
否则多此一举,令人厌烦。
【规则2】边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码
的一致性。
不再有用的注释要删除。
【规则3】注释应当准确、易懂,防止注释有二义性。
错误的注释不但无益反而
有害。
【规则4】尽量避免在注释中使用缩写,特别是不常用缩写。
【规则5】当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注
释,便于阅读。
1.3空行
【规则1】在每个函数定义结束之后都要加空行,
如:
样例:
functiongood(){}…//空行/**….*/
functiontest(){}
【规则2】不同的功能实现间应当空行,便于代码的浏览,
如:
样例:
functionfunc(){
//获取和设置相关的属性功能varid=$(id);id.style…id.value…..//此处应当空一行//其它小功能区}
【规则3】在一个函数体内,逻辑上密切相关的语句之间不加空行,其它地方应
加空行分隔,如:
样例:
functionfunc(){
//以下三行为相同小功能,不应空行varid=$(id);id.style…id.value…..//此处应当空一行//其它小功能区}
1.4缩进
【规则1】函数程序体应缩进四个空格,tab键为4个空格,以tab键作为缩进单
位,