目 录
1 前言.......................................................... 5
1.1 目的.........................................................5
1.2 范围.........................................................5
1.3 版权声明.....................................................5
1.4 参考资料.....................................................5
2 代码组成和风格................................................. 6
2.1 文件组织.....................................................6
2.1.1 java 源文件...............................................6
2.1.2 文件注释.................................................6
2.1.3 package 和import .........................................7
2.1.4 class 和interface 声明....................................7
2.2 缩排........................................................10
2.3 行长度......................................................10
2.4 对齐........................................................10
2.5 空格........................................................11
2.5.1 空格行..................................................11
2.5.2 空格....................................................12
3 注释......................................................... 12
3.1 原则........................................................13
3.2 JAVADOC......................................................13
3.3 文件与包注释................................................13
3.4 类/接口注释.................................................14
3.5 方法注释....................................................14
3.6 其他注释....................................................14
4 命名......................................................... 14
4.1 原则........................................................14
4.2 文件、包....................................................15
4.3 类、接口....................................................15
4.4 字段........................................................15
4.4.1 常量....................................................15
4.4.2 变量和参数..............................................16
4.4.3 组件/部件...............................................16
4.4.4 集合....................................................16
4.4.5 其他....................................................16
4.5 方法........................................................16
4.6 异常........................................................17
Java 软件开发规范V1.3
4
2012
5 声明......................................................... 17
5.1 行数目......................................................17
5.2 初始化......................................................17
5.3 布置........................................................17
5.4 类和接口....................................................18
5.5 方法........................................................19
5.6 字段........................................................20
6 语句......................................................... 20
6.1 基本原则....................................................20
6.2 简单语句....................................................21
6.3 RETURN 语句..................................................21
6.4 IF,IF-ELSE,IF ELSE-IF ELSE 语句..................................21
6.5 FOR 语句.....................................................22
6.6 WHILE 语句...................................................23
6.7 DO-WHILE 语句.................................................23
6.8 SWITCH 语句..................................................23
6.9 TRY-CATCH 语句................................................24
7 单元测试...................................................... 24
7.1 基本原则....................................................25
7.2 JUNIT 单元测试...............................................25
8 性能与安全.................................................... 25
8.1 基本原则....................................................25
8.2 循环语句效率................................................25
8.3 减少重复计算................................................26
8.4 STRING/STRINGBUGFFER/STRINGBUILDER ...............................26
8.5 集合........................................................26
8.6 对象........................................................27
8.7 同步........................................................27
8.8 垃圾收集和资源释放..........................................27
9 程序习惯...................................................... 29
9.1 提供实例变量和类变量的权限..................................29
9.2 引用类变量和方法............................................29
9.3 变量赋值....................................................29
9.4 单元测试....................................................29
10 常用缩写表.................................................. 30
11 代码格式化模板.............................................. 29
Java 软件开发规范V1.3
5
2012
1 前言
1.4 参考资料
《Sun Java语言编码规范》(Java Code Conventions)
原文出处:http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html,
译文出处:http://morningspace.51.net/
Java 软件开发规范V1.3
6
2012
2 代码组成和风格
2.1 文件组织
由许多方法组成的文件须用“空格行”以及“用来辨认每个方法的选择性注
释”分隔。
注意:文件中有效代码行数不能超过2000 行。每个方法有效代码行数不能
超过100 行。
2.1.1 java 源文件
每一个java 源文件都包含了一个单一的public class/interface。
如果private classes/interfaces 和public class 相关,须将两者同public class 源
文件放在一起。Public 须是此文件中的首个class/interface。
Java 源文件有下列顺序:
* 文件注释
* package 和import 声明
* class 和interface 声明
2.1.2 文件注释
所有的源文件都须以多行注释开始,列出版权声明。Package 注释中应包含:
类说明、详细描述、创建人、创建日期、修改人、修改日期、修改原因。Class
注释中应包含:方法说明、参数、返回值(无参数、返回值时可不注释)。
可使用codetemplate 模板。
/ **
*版权说明
*
*/
package
/**
*类说明
*
Java 软件开发规范V1.3
7
2012
*详细描述
*
*创建人(工号、姓名)
*创建日期
*修改人(工号、姓名)
*修改日期
*修改原因
*
*/
public class
/**
*方法说明
*
*参数
*返回值
*/
2.1.3 package 和import 声明
大多数Java 源文件的第一行非注释行都是package 声明。在这之后空一行须
跟着import 描述。例如:
package java.io.*;
import java.io.File;
2.1.4 class 和interface 声明
下列表格描述了一个class/interface 的声明部分,以它应该出
现的顺序排列。
Java 软件开发规范V1.3
8
2012
内容 备注
/ *
*版权声明
*
*/
文件注释
package java.blah;
import java.blah.blahdy.BlahBlah;
package 和import,中间空行。
/**
* 类或接口描述
* 详细描述
*
* 创建人(工号、姓名)
* 创建日期
* 修改人(工号、姓名)
* 修改日期
* 修改原因
*/
package 注释
public class Blah extends SomeClass {
/* classVar1变量注释 */
public static int classVar1;
/**
* 会超过一行长度的类classVar2注释
*
*/
private static Object classVar2;
变量注释
方法注释
Java 软件开发规范V1.3
9
2012
/** instanceVar1注释 */
public Object instanceVar1;
/** instanceVar2注释 */
protected int instanceVar2;
/** instanceVar3注释 */
private Object[] instanceVar3;
/**
* ...Blah构造方法注释 ...
*/
public Blah() {
// ......
}
/**
* ...doSomething方法注释 ...
*/
public void doSomething() {
// ......
}
/**
* ...doSomethingElse方法注释 ...
* @param someParam
*/
public void doSomethingElse(Object
Java 软件开发规范V1.3
10
2012
2.2 缩排
须以四个空格来当一个缩进的单位。Tabs 设定成4 个空格。
须使用tab 键缩进,不允许使用空格缩进。
2.3 行长度
避免行长度超过80 个字符,因很多终端机和工具无法将行长度处理很好。
注意:使用eclipse 自带的Format 方法(快捷键:Ctrl+Shift+F)时,需要配
置“Maximum line width”设置长度为80。
2.4 对齐
关系密切的行须对齐,对齐包括类型、修饰、名称、参数等各部分对齐。
当方法参数过多时(超过3个),应当在每个参数后(逗号后)换行并对齐。
当控制语句或循环语句中的条件比较长时换行(操作符前)、对齐并注释各
条件。
someParam) {
// ......
}
}
如有返回值,应做说明,如果有异
常抛出,应该对异常说明
Java 软件开发规范V1.3
11
2012
建议:导入code 模板,自动对齐格式。
2.5 空格
2.5.1 空格行
空格行可以改善代码可读性。
单行的空格行应在下列情况中使用:
package 声明之后,import 声明之前和之后。
import 声明组之间。(import 的jdk 包和第三方包分组)
类定义和类定义之间。
在方法之间。
在方法中的局部变量和它的第一条语句之间。
在区块注释或行注释之前。
在方法的逻辑相关区块之间来改善可读性。
Java 软件开发规范V1.3
12
2012
2.5.2 空格
空格可在下列情况中使用:
类名称和左大括号之间空格。类的继承列表和实现列表之间逗号后
空格。
左大括号之前空格。
空格不应该用在方法名称和它的左小括号之间。
在方法的变量列表中的逗号后面应该出现一个空格。
后面接着小括号的关键字应该以一个空格分开。例如:
While (true) {
…
}
除了“ . ” 之外的二元操作符应该用空格和它们的操作数分隔。空
格不应该分隔一元运算符和它的操作数,如++,==等。例如:
a += c + d;
a = (a + b) / (c * d);
while (d++ = s++) {
n++;
}
printf(“size is “ + foo + “\n”);
在 for 语句中的表达式应该以空格分隔。例如:
for (expr1; expr2; expr3)
强制类型转换后面应该接着一个空格。例如:
meMethod((byte) aNum, (Object) x);
meMethod((int) (cp + 5), ((int) (I + 3)) + 1);
3 注释
java 程序有三种注释:区块注释(/* */)、行注释(//)、文档注释(/** */)。
Java 软件开发规范V1.3
13
2012
3.1 原则
注释应该增加代码的清晰度。
注释应该简洁,避免累赘的注释。
注释信息要包括代码的功能。
不要为注释而注释。
除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行
尾注释。
凡有生产修改时,要注释修改的原因,修复的办法,修复人及修复时间。
3.2 JavaDoc
对类、方法、变量等的注释需要符合JavaDoc规范,对每个类、方法都应详
细说明其功能、条件、参数等,并使用良好的HTML标记格式化注释,以使生成的
JavaDoc易阅读和理解。
部分注释标签:
@see 生成文档中的“参见xx 的条目”的超链接,后边可以加上:“类名”、“完
整类名”、“完整类名#方法”。可用于:类、方法、变量注释。
@param 参数的说明。可用于:方法注释。
@return 返回值的说明。可用于:方法注释。
@exception 可能抛出异常的说明。可用于:方法注释。
@version 版本信息。可用于:类注释。
@author 作者名。可用于:类注释。
@deprecated 对类或方法的说明该类或方法不建议使用,引起不推荐使用
的警告
@note 表示注解,暴露给源码阅读者的文档
@remark 表示评论,暴露给客户程序员的文档
@since 表示从那个版本起开始有了这个函数
3.3 文件与包注释
在每个文件、包的头部都应包含该文件的功能、作用、作者、版权以及创建、
Java 软件开发规范V1.3
14
2012
修改记录等。注意是/* */注释而不是/** */注释。
3.4 类/接口注释
在类、接口定义之前当对其进行注释,包括类、接口的目的、作用、功能、
继承于何种父类,实现的接口、实现的算法、使用方法、修改历史(版本、修改
时间、修改人、修改内容)等。
3.5 方法注释
依据标准JavaDoc 规范对方法进行注释,以明确该方法功能、作用、各参数
含义以及返回值等。复杂的算法用/* */在方法内注释。
返回值当注释出失败、错误、异常时的返回情况。
异常当注释出什么情况、什么时候、什么条件下会引发什么样的异常
3.6 其他注释
应对重要的变量加以注释,以说明其含义等。
应对不易理解的分支条件表达式加注释。不易理解的循环,应说明出口条件。
过长的方法实现,应将其语句按实现的功能分段加以概括性说明。
对于异常处理当注明正常情况及异常情况或者条件,并说明当异常发生时程
序应如何处理。
4 命名
4.1 原则
规范的命名能使程序更易阅读,从而更易于理解。它们也可以提供一些标识
功能方面的信息,有助于更好的理解代码和应用。
使用可以准确说明变量、字段、类、接口、包等的完整的英文描述符。
例如,采用类似 firstName,listAllUsers 或 CorporateCustomer 这
样的名字,严禁使用汉语拼音及不相关单词命名,虽然Java支持Unicode
命名,但本规范规定对包、类、接口、方法、变量、字段等不得使用汉
字等进行命名。
采用该行业的术语。如果用户称他们的“客户” (clients) 为“顾客”
(customers),那么就采用术语 Customer 来命名这个类,而不用
Java 软件开发规范V1.3
15
2012
Client。
采用大小写混合,提高名字的可读性。一般应该采用小写字母,但是类
和接口的名字的首字母,以及任何中间单词的首字母应该大写。包名全
部小写。
尽量少用缩写,但如果一定要使用,当使用公共缩写和习惯缩写等,如
实现(implement)可缩写成impl,经理(manager)可缩写成mgr等,具
体参看附录《常用缩写简表》,严禁滥用缩写。
避免使用长名字(最好不超过 25 个字母)。
4.2 文件、包
文件名称和类名称相同,名称中所有单词首字母大写。
包名一般以项目或模块名命名,少用缩写和长名,一律小写。
包名按如下规则组成:
[基本包名].[项目名].[模块名].[子模块名]...
如:
com.kevin.quasar
com.kevin.skyhome.dao.hibernate
不得将类直接定义在基本包下,所有项目中的类、接口等都当定义在各自的
项目和模块包中。
4.3 类、接口
所有单词首字母大写。名称使用能确切反映该类、接口含义、功能等的词语。
一般采用名词。 接口带I前缀。
4.4 字段
4.4.1 常量
常量名称全部大写,并且在单词之间用“_”分隔。例如:
static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 99;
枚举作为常量,原则上枚举值上线使用后不应该再做修改,枚举值新增和删
Java 软件开发规范V1.3
16
2012
除也需要评估对使用方的影响。
4.4.2 变量和参数
除第一个单词外其余单词首字母大写。
对不易清楚识别出该变量类型的变量应使用类型缩写作其前缀,如字符串使
用strXXX,boolean使用isXXX,hasXXX等等。
4.4.3 组件/部件
应采用完整的英文描述符命名组件(接口部件),遵循匈牙利命名法则。例
如:btnOK,lblName。
4.4.4 集合
一个集合,例如数组,应采用复数命名来表示队列中存放的对象类型。命名
应采用完整的英文描述符,名字中所有非开头的单词的第一个字母应大写,适当
使用集合缩写前缀。例如:
Vector vProducts = new Vector(); //产品向量
Array aryUsers = new Array(); //用户列表
4.4.5 其他
命名时应使用复数来表示它们代表多值。如:orderItems。
4.5 方法
方法的命名应采用完整的英文描述符,大小写混合使用:从第二个单词起,
单词首字母大写。方法名称的第一个单词常常采用一个有强烈动作色彩的动词。
取值类使用get前缀,设值类使用set前缀,判断类使用is(has)前缀。 例如:
getName()
setSarry()
isLogon()
方法参数建议顺序:(被操作者,操作内容,操作标志,其他⋯) 例如:
public void replace(String strSource, //源字串
String strOld, //被替换字串
String strNew) //替换为字串
17
2012
4.6 异常
异常类名由表示该异常类型的单词和Exception组成,如 ActionException。
异常实例一般使用e、ex等,在多个异常时使用该异常名或简写加E,Ex等组成,
如:
SQLEx、ActionEx。
5 声明
5.1 行数目
建议每一行一个声明,因为它可以支持注释,清晰阅读。例如:
int level; // 级别
int size; // 大小
勿将不同的类型放在同一行,例如:
int foo, fooarray[];
5.2 初始化
在局部变量声明的地方须初始化;当使用到全局变量的时候,须项目负责人
确认。
5.3 布置
声明只须放在区块开始的地方。(区块是被大括号“{”和“}”围起来的代码。)
勿等到它们第一次被使用时才声明变量。
void myMethod() {
int int1 = 0; // 方法区块的起始位置
if (条件) {
int int2=0; // “if”区块的起始位置
…
}
}
Java 软件开发规范V1.3
18
2012
此规则的例外是for 循环的索引值,Java 可以在for 的描述中声明:
for (int i=0; i<maxLoops; i++) {
…
}
在不同层级的声明中,变量不要同名。例如,勿在一个内部区块中声明同名
的变量名称:
int count;
…
myMethod() {
if (条件) {
int count; // 避免
…
}
…
}
5.4 类和接口
定义类和接口时,应该遵循下列格式规则:
勿在方法名称和它自变量起始的小括号“(”之间使用空格。
左大括号“{”放在声明描述同一行的末端。
右大括号“}”自己放在一行,对齐到符合它的左大括号语句的位置,除
了空语句的“}”应该紧接着“{”之后出现之外。
class Sample extends Object {
int ivar1;
int ivar2;
Sample(int I, int j) {
Ivar1 = I;
Ivar2 = j;
Java 软件开发规范V1.3
19
2012
}
int emptyMethod() {}
…
}
方法和类字段声明、方法之间以一行空白行隔开。
5.5 方法
良好的程序设计应尽可能减小类与类之间耦合,所遵循的原则是:尽量限制
方法的可见性。如果方法没必要公有 (public),就定义为保护 (protected);
没必要保护 (protected),就定义为私有 (private)。
方法定义语法规范:
[可见性][('abstract'|'final')] ['synchronized'][返回值类型]
method_name(参数列表)[('throws')][异常列表]{
// 功能模块
}
如:
public List listAllUsers() throws DAOException{
}
若有toString(),equals(),hashCode(),colone()等重载自Object的方法,
应将其放在类的最后。
方法的声明顺序:
构造方法
静态公共方法
静态私有方法
公共方法
受保护方法
私有方法
继承自Object 的方法
Java 软件开发规范V1.3
20
2012
方法参数应体现具体的业务含义,原则上不建议使用map 等集合类。
5.6 字段
字段定义语法规范:
[(‘public’|’private’|’protected’)]
[(‘final’|’volatile’)][‘static’][‘transient’]
data_type field_name [ ‘=’ expression] ‘;’
不得把实例变量或类变量声明为公有,变量由get或set方法访问。
不允许“隐藏”字段,即给局部变量所取的名字,不可与另一个更大范围内定
义的字段的名字相同(或相似)。例如,如果把一个字段叫做 firstName ,就
不要再生成一个局部变量叫做 firstName,或者任何易混肴的名字,如
fistName。
数组声明时当将"[]"跟在类型后,而不是字段名后,如:
Integer[] ai = new Integer (2); //一个整数对象数组,用于...
Integer aj[] = new Integer (3); //不要用这种数组声明方式
一行代码只声明一个变量,仅将一个变量用于一件事。
声明顺序:
常量
类变量
实例变量
公有字段
受保护字段
私有字段
可以将私有变量声明在类或接口的最后。
6 语句
6.1 基本原则
表达式和语句应清晰、简洁,易于阅读和理解,避免使用晦涩难懂的语
句。
Java 软件开发规范V1.3
21
2012
每行至多包含一条执行语句,过长的语句换行。
避免在构造方法中执行大量耗时的初始化工作,应当将初始化工作延迟
到被使用时再初始化。
避免在一个语句中给多个变量赋相同的值。
在声明局部变量的同时初始化。
含有多种运算符的表达式,使用圆括号来避免运算符优先级的问题。
6.2 简单语句
每一行只有一个语句。例如:
argv++; // 正确
argc++; // 正确
argv++; argc--; // 避免
避免使用过渡的多元速算符。例如:
max = a>b?(a:b)>C?true:false // 避免
6.3 return 语句
如果用变量或方法的返回值作为返回值的return 语句不应使用小括号,
如果使用条件运算符的return 语句可使用小括号。
例如:
return;
return myDisk.size();
return (size?size:defaultSize);
6.4 if,if-else,if else-if else 语句
if-else 类的语句如下:
if (条件) {
语句;
}
Java 软件开发规范V1.3
22
2012
if (条件) {
语句;
} else {
语句;
}
if (条件) {
语句;
} else if () {
语句;
} else {
语句;
}
注意:总是在if 语句上使用大括号{}。避免下列有错误倾向的形式:
if (条件) // 避免!这个忽略了大括号{}!
语句;
分支语句有if,switch 两种。if 语句多用于分支较少的情况,switch 语句多用
于分支较多的情况。
6.5 for 语句
for 语句如下:
for(初始化;条件;更新) {
语句;
}
而空的for 语句(所有的工作都在初始化,条件式,和更新的子句中完成的)
应该有下列形式:
for(初始化;条件;更新);
当在初始化或更新子句的for 语句中使用逗号操作符时,应避免超过三个子
句的复杂使用。
Java 软件开发规范V1.3
23
2012
如需要,在for 循环之前(对初始化子句)或是在循环的结尾(对更新子句)
使用分开的语句。
6.6 while 语句
while 语句如下:
while (条件) {
;
}
空的while 语句如下:
while (条件);
6.7 do-while 语句
do-while 语句如下:
do {
语句;
} while(条件);
6.8 switch 语句
switch 语句如下:
switch (条件) {
case ABC:
;
/* 往下穿过 */
case DEF:
;
Break;
case XYZ:
;
break;
default:
Java 软件开发规范V1.3
24
2012
;
break;
}
每次有往下穿过的case 时(不包含break 语句),增加一个注释。每一个switch
语句都应包含default case。
6.9 try-catch 语句
try-catch 语句如下:
try {
语句;
} catch(ExceptionClass e) {
语句;
}
try-catch 语句也可能跟着不管try 区块有没有完全成功都会执行的finally 语
句,如下列所示的形式:
try {
语句;
} catch(ExceptionClass e) {
语句;
} finally {
语句;
}
异常处理原则:
1. 能处理就处理,不处理就抛出;
2. 确定是否需要异常处理。有些地方通过校验返回值就可以处理而不需要异
常处理。异常处理耗系统性能。
7 单元测试
Java 软件开发规范V1.3
25
2012
7.1 基本原则
测试不通过的代码不得提交到svn库或者发布。不得隐瞒、忽略、绕过任
何Bug。
多做测试,测试要完全,须将各种可能情况都测试通过,须将可能的Bug
在开发中捕捉并处理掉。
测试要保证可再测试性。
对关键功能必须测试并通过,对辅助功能及非常简单之功能可不做测试。
测试代码必须和业务代码一一对应。
针对DAO/Constants/DTO的类可不做单元测试。
测试功能覆盖率要求达到100%。
关键功能单元测试用例需经过项目组评审。
关键功能单元测试结束后,要编写单元测试报告。
7.2 JUnit 单元测试
单元测试使用JUnit。
8 性能与安全
8.1 基本原则
性能的提升并不是一蹴而就的,而是由良好的编程积累的,虽然任何良好的
习惯和经验所提升的性能都十分有限,甚至微乎其微,但良好的系统性能却是由
这些习惯等积累而成。
8.2 循环语句效率
Java循环语句中,for语句使用频率最高,while语句其次,do语句很少用,
可根据自己熟悉程度选用,但应当考虑效率问题。在循环次数不太多时,三种语
句循环效率无明显差别;当循环次数较大时,效率最高的是do循坏,其次是for
循坏,最后是while循坏。
多重循环效率问题
在多重循环中,如果有可能,应将最长的循环放在最内层,最短的循环
Java 软件开发规范V1.3
26
2012
放在最外层。
循环内逻辑判断问题
如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循
环体外面。
注意:如无必要,不应在for 循环体内修改循环变量,防止for 循环失去控
制。
8.3 减少重复计算
如果一个代价昂贵的计算或查询多次出现,那么就只在一个地方实现,并记
录结果。这样会避免无谓的重复计算与查询工作。
8.4 String/StringBugffer/StringBuilder
不要使用如下String初始化方法:
String str = new String(“abcdef”);
这将产生两个对象,应当直接赋值:
String str = “abcdef”;
在处理可变 String 的时候要使用 StringBuffer类。构造字符串的时候,
应用 StringBuffer 来实现大部分的工作,当工作完成后将 StringBuffer 对象
再转换为需要的 String 对象。例如:如果有一个字符串必须不断地在其后添加
许多字符来完成构造,那么应使用 StringBuffer 对象和他的 append() 方法。
如果用 String 对象代替 StringBuffer 对象的话,将会花费许多不必要的创建
和释放对象的 CPU 时间。 StringBuffer是线程安全的。
在1.5及以上的JDK版本中可以选中使用StringBuilder类,其效率比
StringBuffer更高,但是线程是不安全的。
8.5 集合
避免使用Vector和HashTable等旧的集合,这些集合的存在仅是为了与旧的
系统兼容,而且由于这些实现是同步的,所以在大量操作时会带来不必要的性能
损失。在新的系统设计中不应该出现这些集合,使用ArrayList代替Vector,使
用HashMap代替HashTable。
Java 软件开发规范V1.3
27
2012
如果确实需要使用同步集合类,使用如下方式获得同步集合实例:
Map map = Collections.synchronizedMap(new HashMap());
由于数组、ArrayList与Vector之间的性能差异巨大,所以能使用数组时不
要使用ArrayList,尽量避免使用Vector。
在使用集合类时,变量的定义以及参数的接收应当使用接口,而非具体实现
类。
8.6 对象
避免在循环中频繁构建和释放对象。
不再使用的对象应及时销毁。
如无必要,不要序列化对象。
对于频繁使用的对象,可将其缓存起来,下次使用时直接从缓存中获取对象。
8.7 同步
在不需要同步操作时避免使用同步操作类,如能使用ArrayList时不要使用
Vector。
尽量少用同步方法,避免使用太多的 synchronized 关键字。
尽量将同步最小化,即将同步作用到最需要的地方,避免大块的同步块或方
法等。
8.8 垃圾收集和资源释放
不要过分依赖JVM的垃圾收集机制,因为无法预测JVM在什么时候运行GC。 尽
可能早的释放资源,不再使用的资源请立即释放。
可能有异常的操作时必须在try的finally块中释放资源,如数据库连接、IO
操作等:
Connection conn = null;
try{
//do something
} catch(Exception e) { //异常捕捉和处理
e.printStackTrack();
Java 软件开发规范V1.3
28
2012
}finally{
//判断conn等是否为null
if(null != conn){
conn.close();
}
}//end try...catch...finally
释放临时变量值操作,对已经不用的变量值设置为NULL利于虚拟机回收:
List tempList=null;
List returnList=null;
//do something
tempList=queryList();
//do something
tempList=null;
return returnList;
关闭连接操作,每个关闭连接要有自己异常处理,不要共用try{}catch内处
理:
Connection conn = null;
ResultSet rs = null;
try{
//do something
} catch(Exception e) { //异常捕捉和处理
e.printStackTrack();
}finally{
if(rs!=null){
Java 软件开发规范V1.3
29
2012
try{
rs.close();
}catch(SQLException e){
//do something
}
if(null != conn){
try{
conn.close();
}catch(SQLException e){
//do something
}
}
}//end try...catch...finally
9 程序习惯
9.1 提供实例变量和类变量的权限
若无特殊原因,不要让任何的实例变量和类变量是public 的。通常,实例变
量不需要被直接的设定或是获得,须用方法获得。
9.2 引用类变量和方法
避免使用对象来调用类变量和方法。使用类名称来调用。
9.3 变量赋值
避免在单个语句中指定好几个变量为同一个值。例如:
fChar = lChar = ‘C’; // 避免
不要使用容易产生歧义的语句。例如:
I++ = j++;
9.4 单元测试
每写一个业务类,同时写一个测试类,完成单元测试后,再开发其他业务类。
Java 软件开发规范V1.3
30
2012
10 常用缩写表
中文名称 英文名称 英文缩写
应用程序 application app
上下文信息 context ctx
管理者,经理 manager mgr
连接(数据库连接) connection conn
系统 system sys
11 代码格式化模板
在开发工具eclipse 导入 代码格式化模板code-spec.xml
12 codetemplate模板
在开发工具eclipse 中导入codetemplate 模板 codetemplate.xml
- 浏览: 168231 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
mythet:
上面的配置有问题,测试半天都访问不了,原因是web.xml缺少 ...
lucene solr配置,集成到struts中 -
graduate2011:
楼主你好,想问一下你编译tomcat源码是不是用ant?编译好 ...
tomcat WebappClassLoader 加密class文件
相关推荐
阿里巴巴java编码规范 ,Java 并发编程培训(阿里巴巴) 《阿里巴巴Java开发手册》,首次公开阿里官方Java代码规范标准。这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大...
华为JAVA编码规范.pdf 华为JAVA编码规范.pdf是华为公司编写的JAVA编程语言编码规范,旨在提供一个统一的编程风格和代码组织方式,以提高代码的可读性、维护性和可重用性。该规范涵盖了编程语言的基本结构、命名规则...
Java 编码规范 Java 编码规范是指在 Java 语言中编写代码时需要遵守的一些约定和规则,以确保代码的可读性、可维护性和可扩展性。本文将对 Java 编码规范的主要内容进行详细讲解。 命名风格是 Java 编码规范的重要...
腾讯 Java 编码规范 腾讯 Java 编码规范是腾讯集团管理标准的一部分,旨在确保公司项目代码的易维护性和编码安全性。该规范涵盖了 Java 编码风格、文件组织、代码风格、注释、命名、声明、异常、习惯等方面。 一、...
"java编码规范考试题答案" 一、Java编码规范考试题答案 本文档涵盖了Java编码规范的各种方面,包括集合类、线程、对称密码算法、异常处理、命名规范、随机数生成、压缩文件解压、安全编程规范、操作系统登录用户名...
JAVA编码规范是软件开发中不可或缺的一部分,它不仅有助于提高代码的可读性和可维护性,还能促进团队协作,减少潜在的编程错误。以下是从给定的文件信息中提炼出的关键知识点,涵盖了JAVA编码规范的基本原则、文件...
**百度Java编码规范** 在软件开发中,遵循一定的编码规范是非常重要的,它能提高代码的可读性,便于团队协作,降低维护成本。百度作为一家技术驱动的公司,也提出了其内部使用的Java编码规范,旨在确保代码的一致性...
Java编码规范是软件开发中非常重要的一个环节,它旨在提高代码质量、可读性、可维护性和团队协作效率。这份文档,"Java编码规范.doc",由东软集团有限公司的商用软件事业部编写,包含了国内大型Java项目和国际知名...
Java、编码规范、Java编码规范、阿里巴巴、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里...
Java编码规范是编程实践中至关重要的指导原则,它旨在提高代码的可读性、可维护性和团队协作效率。本文档详细阐述了Java编程时应遵循的一些关键规则和最佳实践。 1. **简介** - **目的**:制定这些规范的主要目的...
1. **命名约定**:Java编码规范对变量、方法、类和包的命名有明确的要求。例如,类名应采用驼峰式命名法,每个单词首字母大写;方法名和变量名则使用小驼峰式,首个单词全小写;常量全大写,单词间用下划线分隔。包...
本压缩包“java编码规范.zip”提供了华为版的编码规范和一个详细的Java代码规范版本,旨在帮助开发者遵循一致的规则,编写出易于阅读、维护的高质量代码。 首先,我们来看华为版的Java编码规范。华为作为全球知名的...
### JAVA编码规范全集 #### 1. 介绍 ##### 1.1 为什么要有编码规范 编码规范在软件开发过程中扮演着至关重要的角色。它不仅有助于提高代码的可读性和可维护性,还能增强团队协作效率。以下是几个关键理由: - **...
【公司Java编码规范】是确保团队协作和代码质量的重要文档,它定义了开发人员在编写Java代码时应遵循的一系列规则和最佳实践。这些规范旨在提高代码可读性、可维护性和可扩展性,减少错误,并使代码更容易理解和调试...
Java编码规范(Java Coding Standard) oiNSFT-BS-OT0105 V3.0 2005-5-11 东软集团有限公司 商用软件事业部 版权所有 中国 沈阳浑南高新技术产业开发区 东软软件园
### Java编码规范终极版知识点详解 #### 一、引言:为何制定编码规范? 编码规范在软件开发过程中扮演着至关重要的角色。一个清晰且统一的编码标准能够显著提升代码的质量,进而提高软件的整体性能和可维护性。在...