JAVA编程规范.docx
- 文档编号:1976720
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:25
- 大小:25.29KB
JAVA编程规范.docx
《JAVA编程规范.docx》由会员分享,可在线阅读,更多相关《JAVA编程规范.docx(25页珍藏版)》请在冰点文库上搜索。
JAVA编程规范
目录
目录2
1.文档说明4
1.1.内容和有效性4
1.2.文档修改4
1.3.保密5
2.编程宗旨5
2.1.软件编码规范的目的5
2.2.对程序员的要求5
2.3.宗旨6
3.程序书写6
3.1.程序书写风格6
3.1.1.培养良好的程序风格6
3.1.2.程序书写规范6
3.2.注释7
4.Java命名规则7
4.1.命名综述7
4.2.Java命名规范8
4.2.1.Java程序命名规则8
5.Java注释规则10
5.1.注释规则综述10
5.2.注释规则描述10
5.2.1.类的注释10
5.2.2.方法的注释11
5.2.3.属性的注释12
5.2.4.一般内容的注释13
5.2.5.有关修改的注释13
6.Java逻辑结构规则15
6.1.if语句规范15
6.2.循环语句规范16
6.3.switch语句和break语句规范18
7.Java通用编码规则20
7.1.import的包名顺序20
7.2.“{}”使用规范21
7.3.小括号使用规范22
7.4.空格使用规范22
7.5.缩进规范24
7.6.JavaBean的存取方法规范24
7.7.toString方法规范26
7.8.main方法规范27
7.9.一行里的字符个数规范27
8.编程工具的使用28
9.程序源码的保护28
1.文档说明
1.1.内容和有效性
本文档《JAVA编程规范》定义了JAVA项目的编码(Coding)和调试(Debugging)阶段中,程序的书写规范。
内容包括:
●编程宗旨
●程序书写
●命名规则
●java编码规范
本文档属于规章制度性文档,所有首都信息发展股份有限公司电子社区事业部(以下简称社区部)的软件开发人员必须认真阅读并理解。
所有社区事业部的软件项目中,如果涉及到使用java进行编程工作,编程人员必须按照本文档中的有关规定,进行编码和调试。
本文档的有效性作用于电子社区事业部的开发人员在为本部门的项目进行软件开发工作时。
本文档在版本更新时,所有按照旧版本进行开发的项目继续沿用旧版本规范;所有新项目必须遵循新版本规范。
本文档中指导性用词说明如下:
“必须”指所述内容或规范属于强制性的执行要求;
“要求”指所述内容在将来必须做到,目前做不到的应尽量改正以做到;
“应该”指所述内容应尽可能做到;
“建议”指所述内容属于指导性意见,以能做到为好;
“不得”表示在未经主管人员同意的情况下不允许;
“严禁”表示严格禁止。
1.2.文档修改
软件开发人员无权对本文档进行修改。
软件开发人员可以对本文档提出修改意见。
本文档由软件质量及过程管理负责人进行修改,修改草案由项目管理部门确认以后提交新版本。
1.3.保密
本文档属于公司机密文件,本公司职工有责任和义务对本文档内容进行保密。
严禁公司职工将本文档的软、硬拷贝私自带出或送出公司,严禁公司职工私自将本文档的软、硬拷贝提供给非本公司人员。
2.编程宗旨
2.1.软件编码规范的目的
使用统一编码约定集的主要原因,是使应用程序的结构和编码风格标准化,以便于阅读和理解项目编码。
好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致,并且尽可能的直观。
2.2.对程序员的要求
作为首都信息发展股份有限公司电子社区事业部的JAVA编程人员(Programmer),必须成为或努力使自己成为最优秀的程序员。
尽量使自己的程序编制具有良好的风格,尽可能提高自己代码的质量;同时,发扬敬业精神并从工作中体会乐趣。
软件应用以及软件开发工具与环境均不断地、飞快地发展,作为程序员要主动地学习新知识,掌握新技术。
其次,作为优秀的程序员,在保证程序质量的同时,要求善于和其他人交流,善于听取他人意见。
同时,要有大局观,作为软件项目的参与人员,必须以整个项目以及公司利益的大局为重。
这也包括时间概念及纪律性。
此外,需要注重效率和放松。
过度的编程工作容易使人疲劳,作为优秀的程序员,不管是否压力大小,都需要调节自己的状态,使编程工作的效率达到最佳水平。
还有,每个编程人员都应该善于总结。
包括总结自己的经验、教训,以及总结可以复用的软件模块。
由于程序质量直接影响到整个软件的质量,因此每个程序员所编写的程序及运行情况将作为员工能力和业绩考核的参考依据之一。
2.3.宗旨
在编程时,使程序做到无错和易读是第一位的。
每个编程人员必须努力使自己程序中的错误尽可能地降至最少;同时,要尽可能让自己的代码可以让所有其他程序员容易理解。
在做到无错和易读的前提下,尽可能提高程序及目标代码的效率,但不得过度追求效率;在尺度掌握上以满足软件需求和尽可能低的开发成本为前提。
所有编码工作必须依据项目的设计进行;同一项目的不同模块,在编程上应遵循一致的风格。
3.程序书写
3.1.程序书写风格
3.1.1.培养良好的程序风格
良好的程序书写风格将有助于提高软件的质量和效率。
程序书写风格在以下方面体现:
常量、变量的使用;注释的使用;变量、属性及方法的命名;语句的书写与使用地点。
以下建议将有助于培养良好的程序书写风格:
●多阅读他人程序,包括阅读厂商提供的源程序,学习优点;
●从程序错误中吸取教训,不再犯同样错误;
●程序书写过程中,牢记有关要求,不怕麻烦。
3.1.2.程序书写规范
以下给出程序书写有关规范:
●程序必须使用逐层缩进的格式;
●程序中必须有注释(有关注释使用规范在随后章节中单独说明);
●建议分行书写复杂表达式和复杂语句;
●方法中的程序段不宜过长;
●除在极为特殊的情况下,禁止使用系统或其它软件开发包提供的未公开的函数调用。
3.2.注释
注释的使用遵循以下规范:
●要求使用注释在程序开头说明本程序的实现功能,建议用注释标明程序作者和时间,以及需要说明的其它事项;
●较多的常量定义和属性定义处,要求用注释说明变量和属性的情况;
●如果对别人的程序进行修改,必须在主要的修改处用注释说明所作的修改,并标明修改者;
●要求用注释说明方法的功能、参数、异常以及返回值,有多个返回值时应说明不同返回值的值、及返回值意义;
●同一程序段中进行不同的操作时,要求用注释说明一组程序的功能;
●大段改动程序时,建议用注释屏蔽旧的程序段,以避免修改时增加新错误,避免可能的程序恢复。
4.Java命名规则
4.1.命名综述
命名包括对程序中文件、变量、属性、方法等程序对象的命名。
好的命名风格将有助于提高程序可读性,并易于修改和维护,从而减少错误,提高编程效率。
除简单使用的变量(如用于循环计数的变量)外,变量的名称必须有意义,以便于识别该对象;但不宜过长,以避免使用中键入时出错。
软件的最终发布性文件,包括最终的可执行程序、动态链接库、帮助文件等文件的命名,由项目负责人统一确定。
软件的最终使用性名称,包括整个软件的名称及单个模块的名称,包括安装后的菜单项及快捷方式的名称,由项目负责人统一确定。
整个软件的大名称由公司经理确认。
4.2.Java命名规范
4.2.1.Java程序命名规则
●Java包的命名
包名的所有单词均为小写。
如:
business、housemanager。
Ex:
正确:
packagecom.capinfo.util;
错误:
packagecom.CAPINFO.util
●Java类的命名
类名+所属类型,类名要体现出该界面类的主要功能,类名中的所有单词的打头字母为大写,如:
HouseControl、DBControl、ComputeFrame。
Ex:
正确:
SomethingHandler.java;SomethingProxy.java,SomethingDAO.java
错误:
somethinghandler.java;somethingProxy.java,Somethingdao.java
●Java方法的命名
方法的命名要体现出此方法的作用。
方法名的第一个单词的打头字母要小写,其后单词打头字母为大写。
如:
drawPicture()、getHouse()。
Ex:
正确:
publicvoidchangePassword()
错误:
publicvoidchangepassword()
●Java变量的命名
变量名的第一个单词的打头字母要小写,其后单词打头字母为大写。
变量的命名应该体现该变量代表的含义。
该规则既适用于类的属性,也适用于方法中的变量和方法使用的参数。
Ex:
正确:
StringapplicationName;publicvoidvalidateUser(intuserId,Stringpassword)
错误:
Stringapplicationname;publicvoidvalidateUser(intUserId,Strings)
●Java常量的命名
这里常量指的是类型为staticfinal的变量。
常量全部以大写字母书写,如超过一个单词,则应采用“_”链接,单词可使用缩写。
如:
PI、HOUSE_TYPE
Ex:
正确:
staticfinalStringSYSTEM_ADMIN_USER=“admin”;
错误:
staticfinalStringSYSTEMADMINUSER=“admin”;
●Java文件名的命名
文件名必须与类名相同,遵守和类名相同的规则。
●Java数组的命名
数组的方括号应该在变量前面,而不是后面。
Ex:
正确:
byte[]buffer;
错误:
bytebuffer[];
5.Java注释规则
5.1.注释规则综述
Java程序有两类注释:
实现注释(implementationcomments)和文档注释(documentcomments)。
实现注释是那些使用/*...*/和//界定的注释。
文档注释(被称为"doccomments")是Java独有的,并由/**...*/界定。
文档注释可以通过javadoc工具转换成HTML文件。
注释应被用来给出代码的概括,并提供代码自身没有提供的附加信息。
注释应该仅包含与阅读和理解程序有关的信息。
在注释里,对设计决策中重要的或者不是显而易见的地方进行说明是可以的,但应避免提供代码中己清晰表达出来的重复信息。
多余的的注释很容易过时。
通常应避免那些代码更新就可能过时的注释。
5.2.注释规则描述
5.2.1.类的注释
应该在java文件的开头,应遵守这样的规范。
/**
*
Title:
类名
*
Description:
类的功能描述
*
Copyright:
版权
*
Company:
公司
*@author作者
*@version版本
*/
5.2.2.方法的注释
应该位于方法的上面,对方法进行描述。
/**
*方法内容
*
*@param参数名参数说明
*@return返回值的说明
*@exception例外
*/
Ex:
/**
*根据userId判断用户是否存在
*
*@paramuserId登录用户id
*@returntrue用户存在、false用户不存在
*@exceptionLoginException登录错误
*@exceptionSQLExceptionSQL语句错误
*/
publicbooleanisUserExist(intuserId)
throwsLogicException,SQLException{
...
}
5.2.3.属性的注释
属性的注释分为2种:
●需要生成javadoc的变量注释(即文档注释)
如果注释在一行内,采用这样的注释
/**变量的说明*/
如果注释在多行内,采用这样的注释
/**
*变量的说明
*…
*/
●不需要生成javadoc的变量注释(即实现注释)
如果注释在一行内,采用这样的注释
/*变量的说明*/或者//变量的说明
如果注释在多行内,采用这样的注释
/*
*变量的说明
*…
*/
5.2.4.一般内容的注释
如果注释在一行内,采用这样的注释
/*变量的说明*/或者//变量的说明
如果注释在多行内,采用这样的注释
/*
*变量的说明
*…
*/
5.2.5.有关修改的注释
这里指的修改主要对应于这样的情况:
●自己在修改别人的代码时,需要注释
●虽然是自己的代码,但出现了大的业务改动,需要注释
修改方法:
●在类注释的author一栏中加入修改人、修改时间和修改原因。
●在代码中将自己修改的部分用注释区分出来,注释中需要有修改人,修改时间,修改开始和解释描述。
●修改的内容中随时写注释。
Ex:
注意用红字标识出的部分。
/**
*
Title:
TestDoc
*
Description:
thisisatestforjavadoc
*
Copyright:
Copyright(c)2003
*
Company:
首都信息发展股份有限公司
*
*@authorxiaoqiao2003-03-05create
*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
对于原作者的内容根据新的修改需要所注释掉的部分
*/
returnreturnValue;
}
}
6.Java逻辑结构规则
6.1.if语句规范
●if语句不允许使用省略方式,即必须带有{}。
哪怕if块中只有一句代码。
Ex
正确:
if(cnt==1){
fileName="file1.txt";
}else{
fileName="file2.txt";
}
错误:
if(cnt==1)
fileName="file1.txt";
else
fileName="file2.txt";
●“if”、“else”、“(”、“)”和“{”之间应有一个英文空格。
Ex
正确:
(空格处已用红色标出)
if(cnt==1){
fileName="file1.txt";
}else{
fileName="file2.txt";
}
错误:
if(cnt==1){
fileName="file1.txt";
}else{
fileName="file2.txt";
}
6.2.循环语句规范
for循环、while循环、dowhile循环,和if语句一样,“for”“while”和“(”以及“)”和“{”之间要有一个半角空格。
另外在for语句的条件括号中,“;”、“=”还有逻辑运算符(如“>”、“<”)的两侧必须要有空格。
While语句的括号中也是同理。
Ex
正确:
请注意空格的位置
for(inti=0;i<10;iCounter++){
System.out.println("Looping");
}
while(count>0){
…
}
do{
…
}while()
错误:
缺少空格。
for(inti=0;i<10;iCounter++){
System.out.println("Looping");
}
while(count>0){
…
}
do{
…
}while()
6.3.switch语句和break语句规范
●通常,switch语句中各个case之后,都会有break结束。
如果下一个case还要接着执行,一般在break的位置添加一个注释行“//notbreak;”。
●switch和case语句均需要缩进。
Ex
正确:
请注意空格与缩进
switch(funcNo){
case4:
func4();
break;
case3:
func3();
//notbreak;
case2:
func2();
break;
case1:
func1();
break;
}
错误:
缺少缩进以及“notbreak”
switch(funcNo){
case4:
func4();
break;
case3:
func3();
case2:
func2();
break;
case1:
func1();
break;
}
7.Java通用编码规则
7.1.import的包名顺序
在程序中如果import了多个包的话,请遵照这样的import顺序。
并且,对于同一级的包,应该按照字母顺序进行排序。
No
Package
1
JavaPackage
2
JavaxPackage
3
SystemFrameWorkPackage
4
SystemPackage
Ex
正确:
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.*;
importjavax.ejb.*;
importjavax.naming.*;
importjavax.rmi.*;
importorg.apache.struts.*;
importcom.capinfo.util.*;
importorg.apache.struts.action.*;
importjava.io.*;
importjava.rmi.*;
注意:
如果只应用到了某个包中的一个类,则需要写出该类的详细路径。
如:
importjava.util.Vector;
7.2.“{}”使用规范
大括号不要用在一行里,起始大括号“{”要在行尾,并且和前面的代码要有一个空格。
结束的大括号要在另一行里。
Ex
正确:
注意大括号的换行和空格
try{
…
}catch(CertificateExceptionex){
…
}catch(IOExceptionex){
…
}
错误:
换行不对,而且缺少空格。
try{
…
}catch(CertificateExceptionex){
…
}catch(IOExceptionex){…}
7.3.小括号使用规范
●在进行方法调用时,左括号和后一个字符之间不应该出现空格,同样,右括号和前一个字符之间也不应该出现空格。
Ex
正确:
CallProc(AParameter);
错误:
多空格
CallProc(Aparameter);
●在混合运算中用括号以避免出现运算符优先级问题,即使你自己非常清楚运算符的优先级,别人也不一定清楚——不能假定其它程序员都像你一样清楚运算符的优先顺序。
Ex
正确:
if((a==b)&&(c==d)){
…
}
错误:
缺少括号
if(a==b&&c==d){
…
}
7.4.空格使用规范
有关空格,上面已经列举很多种情况,下面简单总结并做些补充
●在逻辑条件、循环条件判断处的“()”前后,需要有空格。
●在表示模块的起始大括号“{”前,需要有空格。
●在表示方法调用的括号内部紧挨着括号的参数与括号之间,不能有空格。
●在方法调用需要多个参数时,在紧跟着参数的逗号后面,需要有空格。
(逗号前不能有空格)
Ex:
正确:
method1(p1,p2,p3);
错误:
method1(p1,p2,p3);//缺少空格
method1(p1,p2,p3);//空格位置不对
●在for循环的循环条件括号内部的分号后,需要有空格。
Ex
正确:
for(inti=0;i<10;iCounter++){
System.out.println("Looping");
}
错误:
多处缺少空格
for(inti=0;i<10;iCounter++){
System.out.println("Looping");
}
●在操作符的两侧应该各有一个空格。
如“=”、“==”、“>”、“<”、“+”、“*”等等。
Ex
正确:
for(inti=0;i<10;iCounter++){
j=I+5;
}
错误:
运算符前后缺少空格。
for(inti=0;i<10;iCounter++){
j=I+5;
}
7.5.缩进规范
●这里所说的空格是指英文状态下的一个空格。
●不论是java代码,还是jsp代码,缩进采用4个空格。
●缩进必须是4个空格,而不能用tab字符代替。
因为在不同的文件编辑器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 编程 规范
![提示](https://static.bingdoc.com/images/bang_tan.gif)