必须同其关闭标记同时出现。
如
……….….
….. 不得出现交叉包含的语句,如:
…..
3.3标记的属性赋值规范
对于接受属性的标记,属性值必须使用双引号包围。
如:
3.4标记的缩进规范
●最高一级的父标记采用左对齐顶格方式书写。
●下一级标记采用左对齐向右缩进一个Tab的方式书写
●再下一级依此类推,分别左对齐相对于父标记向右缩进一个Tab的方式书写 同一级标记的首字符上下必须对齐
3.5注释
---->
4客户端JavaScript规范
4.1 变量命名规范
●常量以及全局变量名必须全部使用大写字母
● 变量名首字母必须小写。
● 变量名必须使用其类型的所写字符串开始。
●各种类型的所写字符串如下:
⏹ 整型变量:
n
⏹ 长整型变量:
l
⏹ 浮点型变量:
f
⏹ 双精度变量:
d
⏹ 对象引用变量:
obj
⏹字符串变量:
str
⏹Date类型变量:
dt
⏹ 变量名必须采用有意义的单词命名,如:
strUserName、lngArrayIndex
⏹ 变量名除首字母小写外,其他单词首字符必须大写
⏹ 如果变量名过长可以使用单词缩写,除了被广泛了解的单词缩写以外,所有使用单词所写的变量名必须在定义时给出注释,如:
◆var strAdName //用于表示Administrator帐户的名称
◆var strAdminName //不用给出注释,Admin被广泛了解
4.2变量使用规范
●变量使用前必须定义。
没有定义的变量禁止使用(虽然JavaScript中允许,但是做为全局变量)
●变量的使用尽量缩小到小的作用域。
⏹如循环使用
for(var I=0;I<12;I++)
{
//medthodbody
}
而不是:
var I;
for(I=0;I<12,I++)
{
//medthodbody
}
4.3对象命名规范
各种页面对象如text输入框、按钮、下拉选择框在命名时必须使用以下对应前缀:
● text输入框:
txt
● button按钮:
btn
● select下拉选择框:
sel
● option项:
opt
● form表单:
frm
● frame框架:
fra
● hidden表单项:
hdn
● div标记:
div
● span标记:
span
● 对话框对象:
dlg
● 窗口对象:
win
4.4函数以及子过程命名规范
●函数命名必须使用动词+名词对的方式,并且能够体现函数的功能
● 函数命名的动词前缀必须是同函数功能相关的完整动词
● 函数命名第一个单词的首字母小写,后面每一个单词的首字母大写
1.)javascript脚本方法脚本函数都以①xxx_②xxx的方式命名。
①xxx对应页面隶属的模块。
②xxx表示函数所要实现的功能(动宾结构),多个单词用下划线连接。
例如:
ebwebmail_send_mail()
模块通用的脚本函数必须集合于一个js文件中,在页面上通过形式导入。
js文件名命名使用模块名,例如:
ebwebmail.js。
如果项目已经提供了公共js脚本,则优先使用公共js脚本中提供的函数。
所有定义方法的
//somejavascript
5.3.4Jsp表现层尽量struts1标签化
尽可能使用Struts标签做.
(1)Jsp展现视图尽量不要出现Java代码.多使用Struts标签
(2)增加页面重用.提出公共Jsp.供其它页面引入.
(3)样式。
最好提出独立CSS
(4)编辑工具显示Jsp页面尽量不要有Error
(5)CVS提交时注明修改原因
5.4注释
(1)关于页面功能以及作者的信息的注释
/*****************************************************
*功能描述:
用户列表信息显示
*作者:
张三
*新建时间:
2009-11-12
*修改时间:
2009-11-15
*修改原因:
增加姓名列
*****************************************************/
(2)代码块功能的注释
(3)应当使用隐藏的注释来阻止输出的HTML过大。
(4)每个jsp文件中都应当使用一个错误页面来处理不能够从中恢复的异常。
6JAVA编程规范
6.1格式
6.1.1.缩进
所有的缩进皆为4个空格。
对应的括号通常在同一列的位置上。
例如:
voidfoo()
{
while(bar>0)
{
Logger.debug();
bar--;
}
if(oatmeal==tasty)
{
Logger.debug("Oatmealisgoodandgoodforyou");
}
elseif(oatmeal==yak)
{
Logger.debug("Oatmealtasteslikesawdust");
}
else
{
Logger.debug("tellmepleezewhatizdis'oatmeal'");
}
switch(suckFactor)
{
case1:
Logger.debug("Thissucks");
break;
case2:
Logger.debug("Thisreallysucks");
break;
default:
Logger.debug("whatever");
break;
}
}
1).所有的缩进是由"Space(空格)键"形成的,而不是"Tab键"。
2).所有的if、while和for语句中的"状态"内容必须用括号括起来,就算只有一个状态。
if(superHero==theTick)
{
Logger.debug("Spoon!
");
}
6.1.2间隔
1).所有的标识符都必须被空白字符包围。
inttheTick=5;
if(theTick==5)
这么做唯一可能成为麻烦的是复杂的布尔分析影响了清晰度,例:
if((hero==theTick)&&((sidekick==arthur)||(sidekick==speak)))
不如这样:
booleanisTickSidekick=((sidekick==arthur)||(sidekick==speak));
if((hero==theTick)&&isTickSidekick)
{
…
}
2).然而也有一些例外的情况,见下表:
例外情况
原由
正确示例
错误示例
方法名
习惯写法是在所有方法名之后直接跟上一个左括号
foo(i);
start();
Foo(I);
Start();
数组
习惯写法是在所有数组名之后直接跟上一个左方括号
args[0];
tens[I];
args[0];
tens[i];
自加、自减运算符
习惯写法是在所有一元运算符前面或后面直接加上操作数
++count;i--;
++count;i--;
类型运算符
习惯写法是所有造型都不加空格
(MyClass)v.get(3);
(MyClass)v.get(3);
(MyClass)v.get(3);
6.1.3空行
应该时不时的在各方法之间加入一些空格行来分割大段的代码;
还应该在方法与方法之间加入一两行的空格行。
6.1.4类成员的摆放顺序
classOrder
{
1.finalattributes