wholeheartedly-5530
Web
技术中心代码规范
前言
软件的长期价值直接源于其编码
质量。
在它的整个生命周期里,
一个程序可能会被许多
人阅读或修改。
如果一个程序可以清晰的展现出它的结构和特征,
那就能减少在以后对其进
行修改时出错的可能性,
编程规范可以帮助程序员们增加程序的健壮性。
基本所有的前端代
< br>码都是暴露给公众的,所以我们更应该保证其质量。
规范理念
Any
violation to this guide is allowed if it enhances
readability.
所有的代码都要变成可供他人容易阅读的。
--
引用自
Dojo
Javascript
语法规范
规范详解
JS
命名规范
?
必须使用
Tab
键进行代码缩进,以节约代码大小,建议设置编辑器的
tab
为
4
个
空
格的宽度(而不是
4
个空格)
?
接口风格
结构
类
公有方法
公有变量
常量
规则
驼峰式
混合式
混合式
大写式
例如
ModuleClass()
getPosition()
frameStyle
DEFAULT_FRAME_LAYOUT
?
其他建议风格,非必要
结构
公有方法和属性
规则
混合,例子:
mixedCase
私有方法和属性
方法(
method
)参数
本地
(
local
)变量
混合,例子:
_mixedCase
混合,例子:
mixedCase
混合,例子:
mixedCase
?
所有语句结束后,必须使用
;
号结束
?
所有变量必须是有意义的英文,严厉禁止拼音
?
变量允许使用公认英文缩写
?
类命名必须是驼峰式
?
常量必须所有单词大写,并且每个单词间加下划线
?
枚举类型时,枚举的命名必须有意
义,枚举与枚举成员必须以驼峰式
??
常量和枚举必须在最前端定义,
merge
< br>时注意,必须把常量与枚举定义的文件放在
文件列表的第一位
??
变量内的简写单词如果在
开头则全小写:
xmlDocument
,如果不在开头则全大
写:
loadXML
!
!
!
??
只能用作事件的命名
??
函数开头必须是有意义的动词或动词短语
??
私有类的变量属性成员
建议
使用混合式命名,并前面下下划线
??
临时的全局变量放到一个全局的哈希表里,方便变量回收
??
所有全局变量必须初始化,尽量少用全局变量
??
大括号前面不能有换行符
??
保留字以及特有的
dom
属性不能作为变量名
特殊命名约定
??
前面加
“is”
的变量名应该为布尔值,亦可使用
“can” “has” “should”
??
前面加
”str”
的变量名应该为字符串
??
前面加
“arr”
的变量名应该为数组
??
前面加
“num”
或
“count”
的变量名应该为数字
??
“o”
作为局部变量或参数,表示为
Object
??
“e”
作为局部变量或参数,表示为
Element
??
“evt”
作为局部变量或参数,表示为
event
??
“err”
作为局部变量或参数,表示为
error
??
重复变量建议使用
< br>(依次类推)等名称的变量
(
全世界公认
)
??
能缩写的单词尽量缩写
??
避免产生令人误解的布尔值
isNotNumber isNan
??
处理错误的变量,必须在后面跟着
“Error”
??
初始化用的函数
必须使用
“init”
开头,如果一个页面只有初始化可以单独使用
init()
??
尽量做有意义的代码折行,不要让一行代码过长。
(HTML
字符串除外
)
??
操作符
建议
使用空格隔开
??
函数调用和方法
避免
使用空白
??
逗号(
,
)
建议
使用空白隔开。
??
不允许频繁使用
previousSibling
和
nextSibling
词法结构
??
普通代码段应该看起来如下:
whi
le
(!
isDone
){
}
doSomething
();
isDone
=
moreToDo
();
??
变量定义方法如下:
var
a = null,
b = 1,
c =
0;
??
函数定义方法如下:
var
funcA
= function(){
var a = 0;
...
}
??
if
语句应该看起来像这样:
p>
if
(
someCondition
){
}
statements
;
statements
;
statements
;
}
else if
(
< br>someOtherCondition)
{
}
else
{
??
for
语句应该看起来像这样:
for
p>
(
initialization
;
condition
;
update
){
}
statements
;
??
while
语句应该看起来像这样:
while
(!
isDone
){
}
doSomething
();
isDone
=
moreToDo
();
??
do ... while
语句应该看起来像这样:
do
{
statements
;
}
while
(
condition
);
??
switch
语句应该看起来像这样:
switc
h
(
condition
){
}
case
:
statements
;
statements
;
break
;
statements
;
break
;
//
注释
case
:
default
:
??
try ... catch
语句应该看起来像这样:
try
{
}
statements
;
statements
;
statements
;
}
catch
(
ex
){
}
finally
< br>{
??
单行的
if -
else
,
while
或者
for
语句也必须加入括号:
if
(
condition
){
}
while
(
condition
)
{
}
statement
;
statement
;
for
(
intialization
;
condition
;
update
){
}
statement
;
注释规范
??
一些你不打算给其他人使用的函
数,
建议添加
@ignore
让文档输出时可以忽略这段
注释
??
一些相关的功能相关的函数,建议加上
@see
Function
来对上下文做索引
??
对于一些函数不建议或则需要注意的使用方法,必须加上
@deprecated
作为提醒
??
每个
j
s
文件的文件头都必须包含
@fileoverview @author,
建议加上
@version
??
每个函数都必须使用
JsDoc
来注释他的用意
??
每个带参数的函数必须包含
@param
??
每个有返回值的函数必须包含
@return
??
构造函数必须加上
@constructor
??
继承函数建议加上
@base
表示其继承于哪个类
??
常用全局变量建议使用
JsDoc
的注释方式
??
一般的变量及局部变量才用
//
方式进行注释,建议在需要做注释的语句的上一行
??
其他详情请参考
JsDoc
注释方法
其他
??
String
优化
循环体内的字符串累加使用
join
方式。
例如
:
var
r
=
[];
for
(
var
i
=
0
;
i
<<
/p>
100
;
i
++
){
}
var
k
=
r
.
join
(
);
r
.
push
(
)
;
??
Switch
建议采用
hash-
table
switch
可以才用
Object
代替
例如
:
var
a
=
{
}
:
doAction1
,
:
doAction2
,
wholeheartedly-5530
wholeheartedly-5530
wholeheartedly-5530
wholeheartedly-5530
wholeheartedly-5530
wholeheartedly-5530
wholeheartedly-5530
wholeheartedly-5530
-
上一篇:化学元素英读音
下一篇:上海中考英语新题型专项练习选词填空