首页 > 编程知识 正文

java开发规范,java代码的基本格式

时间:2023-05-05 17:34:01 阅读:20003 作者:4485

一. Java命名的一般指导

1 .类名的首字母必须大写。 所有标识符,包括属性(成员变量)、方法、对象变量和表单参数

数量、实际参数和局部变量)的首字母必须小写,并且其中包含的所有单词必须组合在一起

且将中央单词首字母大写。

例如,类名: ThisIsAClassName属性或方法名称: thisIsMethodOrFieldName

对象变量: thisIsAClassVariable

2. Java包(Package )是一个特例,中间的单词也全部是小写字母

就是这个。 对于全局软件包,请反转internet域名以连接到软件包名称。

例如,cn.edu.usst.dingyuewei.package

此外,package行必须在import行之前,import中的标准包名称必须在本地包名称之前

前面,而且是按照字母顺序排列的。 如果import行包含同一包中的不同子目录,则为

应该用*处理。 例如

包hot lava.net.stats;

import java.io.*;

import java.util.Observable;

import hotlava.util.Application;

其中java.io.*取代了InputStream and OutputStream。

3 .界面(Interface ) :使用完整的英语描述符说明界面的封装,所有单词的第一个字符都很大

写作。 习惯上,在名称后加上后缀able、ible或er。

例如Contactable,Prompter。

4 .组件(Component )使用完整的英语说明说明组件的用途,并在末端连接组件类型。

例如,okButton、客户列表、文件菜单。

5 .命名类中常用的方法:

获取类l (通常具有返回值)的方法通常要求使用访问方法名称的字段名称,并在前面加

前缀,如getFirstName (,getLastName ) )。

l类布尔型的确定方法通常要求在方法名称中使用单词is作为前缀。 例如,isPersistent ()、

is字符串()。 或者,使用equal或equals等具有逻辑意义的单词

如何设置l类(典型的返回类型为void ) :在访问的字段名称前加上前缀set。 范例

setFirstName (、setLastName )和setWarpSpeed )。

l类的一般方法,一般用完整的英语描述说明成员方法的功能,第一个词尽可能采用

第一个字母用小写字母写的生动动词,如openFile (,addAccount )。

l构建方法应该采用增量方式书写(例如,参数多的写在后面)。

例如:

公共计数器

publiccounterset(intsize ) { this.size=size; }

ltoString方法:一般来说,每个类都必须定义toString

方法。 格式如下。

公共字符串字符串{…}

main (通常包含用于测试该类的代码,如果包含)

main ) )方法,那么应该写在类的底部。

6 .静态常量字段(静态final )通常都是大写的,单词之间用下划线分隔() ) ) )。

不像Java类库那样,所有颜色常量都严格地使用大写字母。)。 就像MIN_BALANCE一样,

PDF文件使用' pdfFactory Pro'DEFAULT_DATE。

7 .循环计数变量通常使用字母I、j、k或counter。 数组应该总是按以下方法来

命名: objectType[]或byte[] buffer。

二、Java评论承诺

1 .类的总体注释:按照JavaDoc规范,在每个源文件的开头注明并创建该CLASS的作用

简单说明,写源文件的作者,写日期。 如果要修改别人写的源文件的话,请修改

在信息中注明修改者和修改日期。

例如:

2 .类中方法的注释:按照JavaDoc的规范,在每个方法的开头用块注释的方法编写此方法

的角色,以及输入、输出参数的类型和角色,以及必须捕获的错误。

例如:

3 )用行评论)//…的评论方法,评论应该表达的内容。 然后,把评论的内容放入必要的注释中

已发行代码的上一行或同一行。

4 .区块评论:用评论的方法,评论需要表达的内容。 然后根据需要放置注释的内容

注释的代码之前。

5 .注释哪些部分:班级的目的(即班级完成的功能)、设置接口的目的,以及应该:

何被使用、

成员方法注释(对于设置与获取成员方法,在成员变量已有说明的情况下,可以不加注

释;普通成员方法要求说明完成什么功能,参数含义是什么?返回什么?)、普通成员

方法内部注释(控制结构、代码做了些什么以及为什么这样做,处理顺序等)、实参和

形参的含义以及其他任何约束或前提条件、字段或属性描述。而对于局部变量,如无特

别意义的情况下不加注释。

三、 Javabean开发规范

1. 数据库连接规范

l 在开发过程中,数据库连接通过调用已写好的一个数据库连接类JDBC 来实现。

l 数据库的连接一般放在数据库的构造方法中建立。

l 在每个方法中,若对数据库操作结束,则必须显式地调用JDBC类里的方法close(),

PDF 文件使用 "pdfFactory Pro"

将数据库连接关闭。

2. 代码书写规范(一般Java 程序代码可参考)

有一个良好的代码书写习惯。代码编写规范的基本约定如下:

l 每一行的代码不宜过长,一般以页面宽度的80%至90%为宜。对于连接在一起,代

码较长的程序,可考虑采用分行显示的方式,第二行一般在第一行的基础上缩进两

个空格(或一个TAB,这一点在书写复杂的sql 语句时,尤其要注意!)。

例如:

public Vector getAgentInfo(String agent_name, String

agent_type)

throws Exception,SQLException

l javabean 中各个方法之间,一般以两行间隔,而不允许连在一起。

例如:

public void getAgent()

{}

//第一行;

//第二行;

public int getNum()

{}

l 大括号{}使用的规定:{}在使用时,如果不是在一行代码中,则应该做到:左括号

“{”与右括号“}”上下对齐,这一点在有多个嵌套的情况下显得尤为重要。大括

号里的首行代码,必须在下一行,并且缩进两个空格(或一个TAB)。

例如:

public void processRequest(HttpServletRequest clientRequest){

String itemName, itemNum;

int newItemNum;

if(submit==null){

clear();

}else{

update();

try{

newItemNum = (Integer.valueOf(itemNum)).intValue();

}catch(Num berFormatException e){

itemNumber = 1;

}

}

}

l 定义变量时,同一类型的变量可以一起定义,但数量一般限定在两到三个,三个以

上则必须分开定义。变量定义与流程语句之间必须向间隔一行。

3. 例外控制规范

在编写javabean 时,例外(exception)的控制一般有两种方式:

l 一种是在方法里捕获

l 另一种是通过try{}catch(Exception e){}的方式来捕获。

两种方法无论采用哪种均可以,但他们在使用场合还是有一些区别的。

第一种捕获方法,主要适用于对具体是哪种例外、并且在哪里会发生不太清楚的情况。

第二种捕获方法,适用于比较了解例外的发生情况。

PDF 文件使用 "pdfFactory Pro"4.

方法返回类型规范

这里所指的方法返回类型,专指返回记录集的情况。一般在javabean 里返回的记录集

都是以ResultSet 的类型返回的,考虑到ResultSet 在用完以后需要关闭,如果向页面返回

ResultSet 类型,则须在页面里关闭rs,这样会带来安全方面的隐患。为了解决这个问题,

我们提供了一个方法,将ResultSet类型转换为一个Vector 类型。程序员在javabean里只需

调用相应的方法,即可实现转换。

四、 Java编码其它约定

1. JSP文件命名采用完整的英文描述说明JSP所完成的功能,尽可能包括一个生动的动词,

第一个字母小写,如:viewMessage.jsp、editUser.jsp 或者forumChooser.jsp 等。

2. Servlet 类命名一般对应于所服务的对象加后缀Service 来命名,如:UserService,

TradeService 等。

3. 使用StringBuffer 对象:在处理String 的时候要尽量使用StringBuffer 类,

StringBuffer 类是构成String 类的基础。String 类将StringBuffer 类封装了起

来,(以花费更多时间为代价)为开发人员提供了一个安全的接口。当我们在构造字符

串的时候,我们应该用StringBuffer 来实现大部分的工作,当工作完成后将

StringBuffer 对象再转换为需要的 String 对象。比如:如果有一个字符串必须不断

地在其后添加许多字符来完成构造,那么我们应该使用StringBuffer 对象和它的

append() 方法。如果我们用String 对象代替 StringBuffer 对象的话,会花费许多

不必要的创建和释放对象的 CPU 时间。

4. 避免太多的使用 synchronized 关键字:避免不必要的使用关键字 synchronized,应

该在必要的时候再使用它,这是一个避免死锁的好方法。必须使用时,也尽量控制范

围,最好在块级控制。

5. 避免使用java.util.Vector 类:因为Vector 是is synchronized.",所以使用

java.util.Vector 类在性能上会有所减低。

6. 尽量使用接口而不是一个具体的类:

例如:给定一个SQL 语句,返回一个对象的列表,实现中用java.util.ArrayList 实现,

于是定义方法为:

public java.util.ArrayList getObjectItems(String sql);

上面的方法存在一个问题,当getObjectItems内改用Vector 或LinkedList实现,外

部类必须做相应更改。一个更好的方法是定义返回值为java.util.AbstractList更合适:

public java.util.AbstractList getObjectItems(String sql);

这样即使更改实现,外部类也不必做相应更改。

7. 避免使用索引来调用数据库中间层组件返回的结果集:

例如:

for(int i=1;i<=dt.getRowCount();i++){

String field1 = dt.getField(i,0).toString();

}

而应用字段名来存取结果集:

for(int i=1;i<=dt.getRowCount();i++){

String field1 = dt.getField(i,"field1").toString();

}

PDF 文件使用 "pdfFactory Pro"

这样在数据库设计更改或查询的SQL 语句发生变化时,不会影响到程序的执行。

尽量不要使用*通配符,例如Select * from tableName,应该具体写明字段名。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。