一. 命名规范
1.包名应全部是小写字母,包名中不能出现下划线,并且第 一个字母不能是数字。
2. 类和接口的名称应是一个名词,采用大小写混和的方式,如果使用拼音则应是全拼,所有单词都应紧靠在一起,其中每个单词的首字母应大写,接口名称应以大写 I 开始。例如:
class User;
interface ICommonConnection;
class BuMen;//此处为部门全拼
每个类定义要前必须加类的说明。
3.方法名应是一个动词或动名结构,采用大小写混和的方式,其中第一个单词的首字母用小写,其后单词的首字母大写。例如:
Xxxxx.getBmList();
每个方法前必须加说明包括: 参数说明、 返回值说明、异常说明。 如果方法名实在是太长可以对变量名缩写,但是必须添加相应的说明。
4.变量命名一般采用大小写混和的方式,第一个单词的首字母小写,其后单词的首字母大写,变量名一般不要用下划线或美元符号开头。变量名应简短且有意义,即,能够指出其用途。除非是一次性的临时变量,应尽量避免单个字符的变量名。
(1)类的实例对象定义如下:
Person
person;
(2)同一个类的多个对象可以采用一下定义方式:
Person
person1;
Person
person2;
(3)集合类的实例命名使用集合包含元素的英文名称的复数表 示,例如:
Vector
persons;
(4)如果变量名实在是太长可以对变量名缩写,但是必须在类 说明或方法说明部分(视缩写的范围而定)进行说明。
(5)数组的声明要用"int[] packets"的形式,而不要用"int packets[]"。
5.类常量和 ANSI 常量的命名应全部用大写, 单词间用下划线隔开。 例如:
final static int MIN_WIDTH = 4;
final static int MAX_WIDTH = 99;
二.代码书写规范
类的方法的代码行数不能过长,尽量控制在 100 行(90%),长 的方法要拆分成私有函数。
1 返回值
在一般情况下,方法返回值不应返回 null。而是尽量使用异常代 替返回 null。如果在特殊情况必须返回 null, 必须在方法说明中加以特别说明,如使用“特别注意”等字样。
例如:从一个集合类实例中提 取一个对象,因为有些集合类实例是允许 null 作为键或值的,这个时 候用异常取代返回 null 就不合适了。 如果方法的返回值是集合类对象, 而且返回的集合对象不包含任 何元素时,则应返回 0 长度或 0 大小的集合对象。不能返回 null。
2 异常
整个应用系统使用自行设计的唯一异常类, 该类包括 message 表 ( 示错误信息)和 ID 号(整型,表示异常类型)两部分,该类在创建时是自动获得类名、方法名、行号等信息。 在系统开发和上线之后的一段时间内, 异常信息要直接发送到浏览器页面,以便于开发人员迅速定位错误。
3 表达式
1) 所有的算术、逻辑表达式的每一项运算都需要加圆括号,避 免使用 java 语言的运算符优先级,例如:
(2 *(x + y))/(1 - x); ((n > 1)?(n - 1):(n = 1)) result =(result && (lastOperand > nextOperand));
2) 二元算术运算符(除去“/”)、二元逻辑元素符、赋值运算符, 既“+、-、*、%、+=、-=、*=、/=、%=、>、<、 ==、 >=、<=、 =”等符号左右两边要加空格,例如:
if(lastOperand >= lastOperand)
3) 参数说明部分的逗号“,”和 for语句循环说明部分的分号“;”之前不 需要留空格,之后需要留空格。
如: Calculator.add(int a, int b);
for(int i = 0; i < 100; i ++);
4 体前代码
体前代码包括: a) 方法的参数说明和异常说明; b) 条件语句,如 if 语句、switch 语句; c) 循环语句,如 while 语句、for 语句。 这些语句的参数说明、条件说明和循环控制都放在圆括号内。如 果不是特别长,应尽量放在同一行内。同时注意, 参数说明、 条件说明和循环控制的结束圆括号“)”与体开始花括号“{”之间留一个空格。
5 注释
注释是软件可读性的具体体现。 程序注释量一般占程序编码量的 20%,软件工程要求不少于20%。以下是四种必要的注释:
(1) 类说明注释 注释一般位于 package/import 语句之前,class 描述之前。要求至少写出内容说明、创建者、创建时间和特别注意事 项等内容。例如:
/**
*名称: ${file_name}<br>
*描述: <br>
* 类型: JAVA<br>
* 最近修改时间:${date} ${time}<br>
* @since ${date}
* @author 刘 华
*/
(2) 方法说明注释 对几乎每个方法都应有适当的说明,位于方法声明之前, 包括:说明,参数说明、异常说明、返回值说明和特别说 明等。例如:
/**
* 方法描述
*
* ${tags}
* @param id String 唯一标识
* @param personid String 用户唯一标识
* @return rtobj BaseReturn 基本返回对象
* @变更记录 ${date} ${time} 刘 华 创建
*
*/
(3) 体内代码的注释 体(方法体、代码块体、静态代码块体等)内的代码按照功能 分成多个虚拟的功能块,每个块以块注释“/* xxx */”注 释开始,以空行结束;例如:
/**是否超级管理员**/
private Boolean isadmin = false;
if(null!=curOuId&&!curOuId. equals (“”))
{
/*组织机构 ID 不为空时 */
curOuId = ‘000000’;
空行
}
空行
if(curOuId==null)
{
/*组织机构 ID 为空时 */
}
(4) 行注释
行注释“//”仅用于调试注释,在程序稳定之后,行注释必须 被删除,以免影响程序的可读性。