JAVA编码规范
开发命名规范
JAVA编码规范
目 录
1 概述 ................................................................................................................................... 3
1.1
1.2
1.3
2 编写目的 ............................................................................................................ 3 预期读者 ............................................................................................................ 3 适用范围 ............................................................................................................ 3 命名规范 ........................................................................................................................... 4
2.1 包命名规则 ........................................................................................................ 4
2.1.1
2.1.2
2.2
2.3
2.4
2.5 与业务系统相关的包命名 ......................................................................... 4 与业务系统无关的、可公用的包 ............................................................. 4 类名、接口命名规则 ........................................................................................ 5 方法命名规则 .................................................................................................... 5 变量命名规则 .................................................................................................... 5 常量命名规则 .................................................................................................... 7 3 代码书写规范 ................................................................................................................... 7
3.1
3.2
3.3
3.4
3.5 返回值 ................................................................................................................ 7 异常 .................................................................................................................... 8 表达式 ................................................................................................................ 8 体前代码 ............................................................................................................ 9 注释 .................................................................................................................... 9
版本修改说明
1 概述
1.1 编写目的
本文描述了JAVA开发中的有关包、类、接口、方法、实例变量、变量和常量的命名规则,用于规范JAVA编程过程中的命名和代码书写规范。
程序代码作为重要的核心的作业内容,有必要遵循统一的书写和编码规范。
在程序设计总体方向上,有必要遵循统一的规范要求进行设计。
遵循规范的要求,能够有效的减少编码过程中的错误。
为了有效的提高程序的可维护性,正确的编码方式是很有必要的。
1.2 预期读者
开发组全体成员。
1.3 适用范围
适用于开发组所有基于JAVA开发的项目。
2 命名规范
2.1 包命名规则
开发组将基于JAVA开发中产生的包,分为两类,一类是与各业务系统相关的包,一是与业务系统无关的、可公用的包。它们的命名规则,除要遵守“包名应全部是小写字母,包名中不能出现下划线,并且第一个字母不能是数字”的规则。
2.1.1 与业务系统相关的包命名
与业务系统相关的包命名格式为:
com.soft..。
其中: 为项目英文简称或缩写;
为模块英文名称或简称,如果无细分模块的话可省略模块名。
2.1.2 与业务系统无关的、可公用的包
通用包命名格式为: com.soft.common.//所有项目通用
com.soft..common//单个项目内各模块通用
2.2 类名、接口命名规则
类和接口的名称应是一个名词,采用大小写混和的方式,如果使用拼音则应是全拼,所有单词都应紧靠在一起,其中每个单词的首字母应大写,接口名称应以大写I开始。例如: class User;
interface ICommonConnection;
class Department;
每个类定义前必须加类的说明。
2.3 方法命名规则
方法名应是一个动词或动名结构,采用大小写混和的方式,其中第一个单词的首字母用小写,其后单词的首字母大写。例如:
Xxxxx.getDmpList();
每个方法前必须加说明包括:参数说明、返回值说明、异常说明。如果方法名实在是太长可以对变量名缩写,但是必须添加相应的说明。
2.4 变量命名规则
变量命名一般采用大小写混和的方式,第一个单词的首字母小写,其后单词的首字母大写,变量名一般不要用下划线或美元符号开
头。变量名应简短且有意义,前面是数据类型前缀,后面是有意义的变量名,即,能够指出其用途。除非是一次性的临时变量,应尽量避免单个字符的变量名。
(1)类的实例对象定义如下:
Person person;
(2)同一个类的多个对象可以采用以下定义方式:
Person person1;
Person person2;
(3)集合类的实例命名使用集合包含元素的英文名称的复数表示,例如:
Vector persons;
(4)如果变量名实在是太长可以对变量名缩写,但是必须在类说明或方法说明部分(视缩写的范围而定)进行说明。
(5)数组的声明要用"int[] packets"的形式,而不要用"int packets[]"。
(6)数据类型及变量前缀对照表
说明:如再追加其他类型,再行追加。
2.5 常量命名规则
类常量和ANSI常量的命名应全部用大写,单词间用下划线隔开。例如:
final static int MIN_WIDTH = 4;
final static int MAX_WIDTH = 99;
3 代码书写规范
类的方法的代码行数不能过长,尽量控制在100行(90%),长的方法要拆分成私有函数;每行不超过80个字符。
3.1 返回值
在一般情况下,方法返回值不应返回null。而是尽量使用异常代替返回null。如果在特殊情况必须返回null, 必须在方法说明中加以特别说明,如使用“特别注意”等字样。例如:从一个集合类实例中提
取一个对象,因为有些集合类实例是允许null作为键或值的,这个时候用异常取代返回null就不合适了。
如果方法的返回值是集合类对象,而且返回的集合对象不包含任何元素时,则应返回0长度或0大小的集合对象。不能返回null。
3.2 异常
整个应用系统使用自行设计的唯一异常类,该类包括message(表示错误信息)和ID号(整型,表示异常类型)两部分,该类在创建时是自动获得类名、方法名、行号等信息。
在系统开发和上线之后的一段时间内,异常信息要直接发送到浏览器页面,以便于开发人员迅速定位错误。
3.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
3.4 体前代码
体前代码包括:
a) 方法的参数说明和异常说明;
b) 条件语句,如if语句、switch语句;
c) 循环语句,如while语句、for语句。
这些语句的参数说明、条件说明和循环控制都放在圆括号内。如果不是特别长,应尽量放在同一行内。
同时注意,参数说明、条件说明和循环控制的结束圆括号“)”与体开始花括号“{”之间留一个空格。
3.5 注释
注释是软件可读性的具体体现。程序注释量要求不少于50%。以下是四种必要的注释:
(1) 代码文件的注释格式
(2) 类说明注释
注释一般位于 package/import 语句之前,class 描述之前。要求至少写出内容说明、创建者、创建时间和特别注意事项等内容。例如:
第10页
(3) 方法说明注释
对几乎每个方法都应有适当的说明,位于方法声明之前,包括:说明,参数说明、异常说明、返回值的说明和特别说明等。例如:
第11页
(4) 体内代码的注释
体(方法体、代码块体、静态代码块体等)内的代码以 “//”进行注释,注释时,“//”的后面要添加半角空格,注意代码缩进。在编码的过程中尽可能的同步填写上代码的注释信息,提高代码的可读性和易维护性。 例如:
第12页