Java编程规范_参考

上传人:m**** 文档编号:455471424 上传时间:2023-05-05 格式:DOCX 页数:13 大小:23.32KB
返回 下载 相关 举报
Java编程规范_参考_第1页
第1页 / 共13页
Java编程规范_参考_第2页
第2页 / 共13页
Java编程规范_参考_第3页
第3页 / 共13页
Java编程规范_参考_第4页
第4页 / 共13页
Java编程规范_参考_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Java编程规范_参考》由会员分享,可在线阅读,更多相关《Java编程规范_参考(13页珍藏版)》请在金锄头文库上搜索。

1、Java编码规范制定本编程格式的目的是为了使软件可读性好、 兼容性好、 易维护等等。注:加( * )者为重要保证要求。一、命名规范1.1 Package 的命名 (*)Package 的名字应由一个小写单词组成。为了保证包的唯一性,一般以公司国际域名开头。例如: com.elanbase.db 。1.2 Class 的命名 (*)Class 的名字必须由大写字母开头,并且其它单词的首写字母也要大写。例如: DbAccess。1.3 Class 成员属性及变量的命名 (*)变量 / 成员属性的名字用一个小写字母开头,后面的单词以大写字母开头。例如: private String lastName

2、;1.4 常量的命名 (*)Java 里的常量, 是用 static final 修饰的, 应该用全大写加下划线命名, 并且常量名应尽量指出完整含义。如:public static final String ORACLE_DB_DRIVER = oracle.jdbc.driver.OracleDriver ;1.5 数组的命名数组应该总是用下面的形式来命名:byte buffs;而不是:byte buffs;1.6 方法的参数和变量的命名规范一致,且应使用有意义的参数命名,如果可能的话,使用和要赋值的属性一样的名字,如:setCounter(int size)this.size = size

3、;1.7 方法命名 (*)用一个小写字母开头,后面的单词以大写字母开头。应意义明确,对于属性的存取方法,应使用getXXX()和setXXX()名称,以isXXX() , hasXXX()来命名返回值为 boolean 类型的 方法。1.8 一般命名注意事项a. 用有意义的名字命名变量首先,用完整的英语单词或约定俗成的简写命名变量,鼓励多用约定俗成的简写命名变量。例如:public String zipCodepublic int errNob. 用复数命名 Collection 类变量Collection , 包括数组,Vector 等。命名时使用复数:例如:public Collectio

4、n customers二、 Java 源文件样式Java(*.java) 源文件应遵守如下的样式规则2.1 Class 代码布局:packageJavadoc 注释或者其它文件头注释类声明Fields 声明空行构造函数空行克隆方法空行其它方法(不包括main)空行内部( Inner )类空行main() 方法2.2 版权信息版权信息必须在java 文件的开头,例如: /* Title: 编码过滤器* Description: 该类实现把request 请求编码为web.xml 文件中所配置的字符集* Copyright: Copyright (c) 2003* Company: 华软软件学院*

5、 author weiowen* version 1.0*/2.3 Package/Imports( *)package 行要在版权信息之前,中间空一行。将import的classes归类,按顺序罗列:a. Java 标准类(java.*)b. Java 扩充类(javax.*)c. 第三方类d. 你的应用程序的类每一类空一行。注意在第三方类里进行注释,说明它们的来源。如果import 行中包含了同一个包中的多个类,不推荐用 import pakage. * 来处理,推荐把要用的类一一import 出来。这样程序用到哪些类就可以非常清楚的看出来,有利于代码的维护,增强了代码的可读性。例如:im

6、port java.util.Observable;import java.util.Date;import javax.sql.Connection;/Apache Xercesimport org.apache.xml.*;import org.apache.xerces.dom.*;/Application classes import com.elanbase.db.DbAccess2.4 Class Fields类的成员变量:/* * Packet counters */ protected int packets;protected 、public 的成员变量必须以生成文档(Jav

7、aDoc )的方式进行注释(/*/。private 和 package 定义的成员变量如果名字含义明确的话,可以没有注释。Field 定义可遵从以下顺序:a. public 常量b. public 变量c. protected常量d. protected变量e. package常量f. package变量g. private 常量h. private 变量2.5 存取方法 (getter , setter)接下来是类成员变量的存取的方法。2.6 构造方法 (*)重载的构造方法应该用递增的方式写(参数多的写在后面)。public CounterSet()this(10);public Count

8、erSet(int size)this.size = size;2.7 克隆方法如果这个类是可以被克隆的,就应实现clone 方法:public Object clone() try CounterSet obj = (CounterSet)super.clone();obj.packets = (int)packets.clone();obj.size = size;return obj;catch(CloneNotSupportedException e) throw new InternalError(Unexpected CloneNotSUpportedException: + e.

9、getMessage();2.8 类方法下面开始写类方法:/* Set the packet counters* (such as when restoring from a database)*/protected final void setArray(int r1, int r2, int r3, int r4)throws IllegalArgumentException / Ensure the arrays are of equal size/if (r1.length != r2.length | r1.length != r3.length | r1.length !=r4.l

10、ength)throw new IllegalArgumentException(Arrays must be of the same size);System.arraycopy(r1, 0, r3, 0, r1.length);System.arraycopy(r2, 0, r4, 0, r1.length);2.9 toString 方法每一个类都最好定义toString 方法:public String toString() String retval = CounterSet: ;for (int i = 0; i data.length(); i+) retval += data.

11、bytes.toString(); retval += data.packets.toString();return retval;2.10 main 方法(*)如果类中包含 main(String) 方法 , 那么它应该写在类的底部。三、代码编写风格3.1 代码格式代码应该用 unix 的格式,而不是windows 的(比如:回车变成回车+换行)。3.2 文档化 (*)必须遵守 javadoc 风格来为源程序写注释。不仅因为它是标准,这也是被各种 java 编译器都认可的方法。3.3 缩进 (*)缩进采用 4 个空格 ( 2 个太少不明显, 8 个太多占空间)。不要在源文件中保存Tab字符

12、(!) 。在使用不同的源代码管理工具时Tab 字符将因为用户设置的不同而显示为不同的宽度。例如:在Jbuilder7 中作如下设置:在Tools Editor Options Editor面板上修改 Block Indent为4, Tab Size 为4。3.4 行宽行宽应该设置为 80 字符。源代码一行一般不应超过这个宽度,这会导致无法完整显示。但这一设置也可以灵活调整。超长的语句应该在一个逗号后或者一个操作符前折行。一条语句折行后,应该根据实际情况进行缩进,总的原则是代码看起来清楚整洁。3.5 折行 (*)需要折行时应遵循如下原则: 在逗号后。 在操作符前。 高级别优先(例1)。 第二行做

13、两次缩进,第三行与第二行对齐。例1 :longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longname6; / 推荐使用longName1 = longName2 * (longName3 + longName4- longName5) + 4 * longname6; / 避免使用例2/ 均缩进 8 个空格以避免很深的缩进private static synchronized horkingLongMethodName(int anArg, Object anotherArg, String yetAnoth

14、erArg,Object andStillAnother) / 下一层语句 4 空格缩进/ 避免此种缩进if (condition1 & condition2)| (condition3 & condition4)|!(condition5 & condition6) / 此折行方式不佳doSomethingAboutIt(); / 此行不易读/ 应用此种断行/ 缩进方式if (condition1 & condition2)| (condition3 & condition4)|!(condition5 & condition6) doSomethingAboutIt();/ 或此种折行/ 缩进方式if (condition1 & condition2) | (condition3 & condition4) |!(condition5 & condition6) doSomethingAboutIt();三重表达式可用以下缩进方式:alpha = (aLongBooleanExpression) ? beta : gamma;或:alpha = (aLongBooleanExpression) ? beta: gamma;或:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号