程序书写规范Word文件下载.docx
《程序书写规范Word文件下载.docx》由会员分享,可在线阅读,更多相关《程序书写规范Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
整个软件的大名称由公司经理确认。
2.2.Java命名规范
2.2.1.Java程序命名规则
●Java包的命名
包名的所有单词均为小写。
如:
business、housemanager。
Ex:
正确:
packagecom.capinfo.util;
错误:
packagecom.CAPINFO.util
●Java类的命名
类名+所属类型,类名要体现出该界面类的主要功能,类名中的所有单词的打头字母为大写,如:
HouseControl、DBControl、ComputeFrame。
SomethingHandler.java;
SomethingProxy.java,SomethingDAO.java
somethinghandler.java;
somethingProxy.java,Somethingdao.java
●Java方法的命名
方法的命名要体现出此方法的作用。
方法名的第一个单词的打头字母要小写,其后单词打头字母为大写。
如:
drawPicture()、getHouse()。
publicvoidchangePassword()
publicvoidchangepassword()
●Java变量的命名
变量名的第一个单词的打头字母要小写,其后单词打头字母为大写。
变量的命名应该体现该变量代表的含义。
该规则既适用于类的属性,也适用于方法中的变量和方法使用的参数。
StringapplicationName;
publicvoidvalidateUser(intuserId,Stringpassword)
Stringapplicationname;
publicvoidvalidateUser(intUserId,Strings)
●Java常量的命名
这里常量指的是类型为staticfinal的变量。
常量全部以大写字母书写,如超过一个单词,则应采用“_”链接,单词可使用缩写。
PI、HOUSE_TYPE
staticfinalStringSYSTEM_ADMIN_USER=“admin”;
staticfinalStringSYSTEMADMINUSER=“admin”;
●Java文件名的命名
文件名必须与类名相同,遵守和类名相同的规则。
●Java数组的命名
数组的方括号应该在变量前面,而不是后面。
byte[]buffer;
bytebuffer[];
3.Java注释规则
3.1.注释规则综述
Java程序有两类注释:
实现注释(implementationcomments)和文档注释(documentcomments)。
实现注释是那些使用/*...*/和//界定的注释。
文档注释(被称为"
doccomments"
)是Java独有的,并由/**...*/界定。
文档注释可以通过javadoc工具转换成HTML文件。
注释应被用来给出代码的概括,并提供代码自身没有提供的附加信息。
注释应该仅包含与阅读和理解程序有关的信息。
在注释里,对设计决策中重要的或者不是显而易见的地方进行说明是可以的,但应避免提供代码中己清晰表达出来的重复信息。
多余的的注释很容易过时。
通常应避免那些代码更新就可能过时的注释。
3.2.注释规则描述
3.2.1.类的注释
应该在java文件的开头,应遵守这样的规范。
/**
*<
p>
Title:
类名<
/p>
Description:
类的功能描述<
Copyright:
版权<
Company:
公司<
*@author作者
*@version版本
*/
3.2.2.方法的注释
应该位于方法的上面,对方法进行描述。
*方法内容
*
*@param参数名参数说明
*@return返回值的说明
*@exception例外
Ex:
*根据userId判断用户是否存在
*@paramuserId登录用户id
*@returntrue用户存在、false用户不存在
*@exceptionLoginException登录错误
*@exceptionSQLExceptionSQL语句错误
publicbooleanisUserExist(intuserId)
throwsLogicException,SQLException{
...
}
3.2.3.属性的注释
属性的注释分为2种:
●需要生成javadoc的变量注释(即文档注释)
如果注释在一行内,采用这样的注释
/**变量的说明*/
如果注释在多行内,采用这样的注释
*变量的说明
*…
●不需要生成javadoc的变量注释(即实现注释)
/*变量的说明*/或者//变量的说明
/*
3.2.4.一般内容的注释
3.2.5.有关修改的注释
这里指的修改主要对应于这样的情况:
●自己在修改别人的代码时,需要注释
●虽然是自己的代码,但出现了大的业务改动,需要注释
修改方法:
●在类注释的author一栏中加入修改人、修改时间和修改原因。
●在代码中将自己修改的部分用注释区分出来,注释中需要有修改人,修改时间,修改开始和解释描述。
●修改的内容中随时写注释。
注意用红字标识出的部分。
TestDoc<
thisisatestforjavadoc<
Copyright(c)2003<
首都信息发展股份有限公司<
*@authorxiaoqiao2003-03-05create<
br/>
*liqiang2003-05-05modifyfortest<
*@version1.0
publicclassTestDoc{
publicStringtestDoc(Strings1,inti2)throwsException{
StringreturnValue=getReturnString();
returnreturnValue;
}
publicStringgetReturnString(){
StringreturnValue="
thisisthefirststring"
;
//addbyxiaoqiaoat2003-03-06forteststart
//重新获取返回值
returnValue="
thisisthesecondString"
//addbyxiaoqiaoat2003-03-06end
/*#############byxiaoqiaoat2003-4-4start
对于原作者的内容根据新的修改需要所注释掉的部分
*/
4.Java逻辑结构规则
4.1.if语句规范
●if语句不允许使用省略方式,即必须带有{}。
哪怕if块中只有一句代码。
Ex
if(cnt==1){
fileName="
file1.txt"
}else{
file2.txt"
if(cnt==1)
else
●“if”、“else”、“(”、“)”和“{”之间应有一个英文空格。
(空格处已用红色标出)
if(cnt==1){
}else{
4.2.循环语句规范
for循环、while循环、dowhile循环,和if语句一样,“for”“while”和“(”以及“)”和“{”之间要有一个半角空格。
另外在for语句的条件括号中,“;
”、“=”还有逻辑运算符(如“>
”、“<
”)的两侧必须要有空格。
While语句的括号中也是同理。
请注意空格的位置
for(inti=0;
i<
10;
iCounter++){
System.out.println("
Looping"
);
while(count>
0){
…
do{
}while()
缺少空格。
for(inti=0;
i<
10;
iCounter++){
System.out.println("
while(count>
0){
do{
}while()
4.3.switch语句和break语句规范
●通常,switch语句中各个case之后,都会有break结束。
如果下一个case还要接着执行,一般在break的位置添加一个注释行“//notbreak;
”。
●switch和case语句均需要缩进。
请注意空格与缩进
switch(funcNo){
case4:
func4();
break;
case3:
func3();
//notbreak;
case2:
func2();
case1:
func1();
缺少缩进以及“notbreak”
5.Java通用编码规则
5.1.import的包名顺序
在程序中如果import了多个包的话,请遵照这样的import顺序。
并且,对于同一级的包,应该按照字母顺序进行排序。
No
Package
1
JavaPackage
2
JavaxPackage
3
SystemFrameWorkPackage
4
SystemPackage
importjava.io.*;
importjava.rmi.*;
importjava.util.*;
//上面是java标准包
importjavax.ejb.*;
importjavax.naming.*;
importjavax.rmi.*;
//这部分是java扩展包
importorg.apache.struts.*;
importorg.apache.struts.action.*;
//这部分是struts的framework的包
importcom.capinfo.util.*;
//这部分是系统需要的包
import的顺序不对,并且同一级的import的字母顺序也不对。
注意:
如果只应用到了某个包中的一个类,则需要写出该类的详细路径。
importjava.util.Vector;
5.2.“{}”使用规范
大括号不要用在一行里,起始大括号“{”要在行尾,并且和前面的代码要有一个空格。
结束的大括号要在另一行里。
注意大括号的换行和空格
try{
}catch(CertificateExceptionex){
}catch(IOExceptionex){
换行不对,而且缺少空格。
try{
}catch(CertificateExceptionex){
}catch(IOExceptionex){…}
5.3.小括号使用规范
●在进行方法调用时,左括号和后一个字符之间不应该出现空格,同样,右括号和前一个字符之间也不应该出现空格。
CallProc(AParameter);
多空格
CallProc(Aparameter);
●在混合运算中用括号以避免出现运算符优先级问题,即使你自己非常清楚运算符的优先级,别人也不一定清楚——不能假定其它程序员都像你一样清楚运算符的优先顺序。
if((a==b)&
&
(c==d)){
缺少括号
if(a==b&
c==d){
5.4.空格使用规范
有关空格,上面已经列举很多种情况,下面简单总结并做些补充
●在逻辑条件、循环条件判断处的“()”前后,需要有空格。
●在表示模块的起始大括号“{”前,需要有空格。
●在表示方法调用的括号内部紧挨着括号的参数与括号之间,不能有空格。
●在方法调用需要多个参数时,在紧跟着参数的逗号后面,需要有空格。
(逗号前不能有空格)
method1(p1,p2,p3);
method1(p1,p2,p3);
//缺少空格
method1(p1,p2,p3);
//空格位置不对
●在for循环的循环条件括号内部的分号后,需要有空格。
多处缺少空格
for(inti=0;
iCounter++){
●在操作符的两侧应该各有一个空格。
如“=”、“==”、“>
”、“+”、“*”等等。
j=I+5;
运算符前后缺少空格。
i<
j=I+5;
5.5.缩进规范
●这里所说的空格是指英文状态下的一个空格。
●不论是java代码,还是jsp代码,缩进采用4个空格。
●缩进必须是4个空格,而不能用tab字符代替。
因为在不同的文件编辑器中,对tab字符的设定有可能是不同的。
5.6.JavaBean的存取方法规范
●如果是boolean类型的属性(property),采用isXXX/setXXX的方式来写该属性的存取方法
privatebooleanchanged=false;
publicbooleanisChanged(){
returnthis.changed;
publicvoidsetChanged(booleanchanged){
this.changed=changed;
存取方法命名不对
publicbooleanalreadyChanged(){
publicvoidmodifyChanged(booleanchanged){
●对于其他类型的属性,均采用getXXX/setXXX的方式来写该属性的存取方法。
privateStringuserName="
"
publicStringgetUserName(){
returnthis.userName;
publicvoidsetUserName(StringuserName){
this.userName=userName;
方法命名不对
publicStringretrieveUserName(){
publicvoidmodifyUserName(StringuserName){
5.7.toString方法规范
所有的数据类(data类,或者model类),必须要写toString方法,以便在使用调试时候可以把它所具有的数据打印出来。
publicclassUserimplementsSerializable{
privateintuserId=-1;
publicintgetUserId(){
returnthis.userId;
publicvoidsetUserId(intuserId){
this.userId=userId;
privateStringuserName="
publicStringgetUserName(){
publicvoidsetUserName(StringuserName){
publicStringtoString(){
StringBuffersb=newStringBuffer();
sb.append("
\nUserPropertieslistbegin\n"
userId="
+userId+"
\n"
userName="
+userName+"
UserPropertieslistend\n"
returnsb.toString();
5.8.main方法规范
如果要定义main(String[])方法,那么就应该写在类的底部。
5.9.一行里的字符个数规范
页宽应该设置为80字符,即一行不应该超过80个字符。
超长的语句应该在合适的位置进行换行(如在完整单词的结束、括号结束、逗号等符号后换行)。
一条语句换行后,应该不影响语义,并放在合适位置
Stringsql=“SELECT”
+“FIELD1,FIELD2,FIELD3”
+“FROM”
+“TABLE1”;
6.编程工具的使用
软件开发中所使用的编程工具及其它开发工具,由项目负责人确定。
主要的软件开发工具以及该工具的版本,由公司负责人确认。
在软件开发过程中,严禁在未经许可的情况下变更开发工具,或变更开发工具的版本。
开发过程中的开发工具变更必须由公司负责人确认。
这里的开发工具或编程工具泛指各类产生目标代码或最终的软件发布文件的工具,包括语言开发工具(如Jbuilder、WSAD等)、文档编写工具(如MSWord等)、联机帮助或文档编写工具(如帮助编写工具)、以及属于发布文件的有关资源编写工具(例如,如果软件发布文件中包含图像文件,则制作这些图像文件的图像编辑工具也属于此列),等等。