Java语言的编码规范(一)

2014-11-24 01:40:02 · 作者: · 浏览: 2

1.1 目的和要求

为什么要有编码规范

编码规范对于程序员而言尤为重要,有以下几个原因:

- 一个软件的生命周期中,80%的花费在于维护

- 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护

- 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码

- 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品

为了执行规范,每个软件开发人员必须一致遵守编码规范。

这是一个强制执行的标准,而不是一个指南。当我们的标准不适应的时候,我们可以讨论、修改标准。但是已经制定的标准一定要得到执行。

1.2 检查列表

文件类型

序号

规范要点

参照标准

JAVA文件

1

JAVA文件是否有符合规范的版权和版本信息(简称“head”)。

1.3

2

每次修改JAVA文件后是否在“head”的HISTORY中添加修改信息。

1.3

3

JAVA文件中“类”,“类变量”,“方法”是否有符合规范的注释。

1.4

4

在“方法”的内部是否有一定数量的注释。

1.4

5

JAVA文件中的各种元素是否符合JAVA命名规范。

1.5

6

JAVA文件中整个的书写格式和元素的先后顺序是否规范。

1.6

1.3 JAVA文件的版权和版本信息(简称“头”)

版权和版本信息必须在 java 文件的开头,其他不需要出现在 javadoc 的信息也可以包含在这里。

所有的头文件都可以自动生成,详见<关于eclipse创建新类自动添加注释的说明.rar>

如:

/*

* Author: wufengt

* Created Date:2008-12-1*

日期格式: YYYYMMDD

* History:

* ------------------------------------------------------------------------------

* Date | Author | Change Description

* 20051212| wuf | 优化编码的格式

* 20051215 | wuf | 再次优化编码的格式

*/

1.4 JAVA文件的注释规范

1.Class类的注释

类的注释,一般是用来解释类的,主要包括这个类的功能描述,注意事项和一些重要功能的使用实例。

/**

* 注释内容

*/

public class CounterSet extends Observable implements Cloneable{

}

2.成员变量的注释

public 的成员变量必须生成文档(JavaDoc)。proceted、private和 package 定义的成员变量可以使用一般注解也可以使用JavaDoc进行注释,所有的成员变量都必须有注释。

// 操作状态标志:0.新增,1.修改,2.查看

protected long modifyStatus = 0;

/**

* 每一页的条目数

*/

Public int pageSize = 0;

3.方法的注释

所有方法都必须用JavaDoc进行注释,所有的方法都必须有注释。

/**

* 保存一个session对象

* @param key 变量名称

* @param val 传入对应的对象

*/

public void setSessionValue(String key, Object val) {

}

4.方法内部的注释

复杂的方法内部必须有一定数量的注释,注释可以使用单行或多行注释。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则;对代码的注释应放在其上方相邻位置,不可放在下面;对结构中的每个变量的注释应放在此变量的右方;同一结构中不同域的注释要对齐。一般使用两种注释方法:

// 注释一行  

/* ...... */ 注释若干行

5.javadoc注释标签语法

@author 对类的说明 标明开发该类模块的作者

@version 对类的说明 标明该类模块的版本

@see 对类、属性、方法的说明 参考转向,也就是相关主题

@param 对方法的说明 对方法中某参数的说明

@return 对方法的说明 对方法返回值的说明

//@exception 对方法的说明 对方法可能抛出的异常进行说

1.5 JAVA元素的命名规则

一般命名约定:

1) 尽量使用完整的英文描述符

2) 采用适用于相关领域的术语

3) 采用大小写混合使名字可读

4) 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一

5) 避免使用长的名字(最好小于 15 个字母)

6) 避免使用类似的名字,或者仅仅是大小写不同的名字

7) 避免使用下划线(除静态常量等)

命名规范:

元素名称

命名规则

示例

包(Package)

采用完整的英文描述符,应该都是由小写字母组成。对于全局包,将你的Internet 域名反转并接上包名。

com.srt.moa.action

类(Class)

采用完整的英文描述符,所有单词的第一个字母大写。

Customer,

SavingsAccount

接口(Interface)

采用完整的英文描述符说明接口封装,所有单词的第一个字母大写。习惯上,名字后面加上后缀 able,ible 或者 er,但这不是必需的。(不需要写Interface后缀)

Contactable,

Prompter

异常(Exception)

通常采用字母 e 表示异常。

e

类变量

字段采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写.

firstName,

lastName

局部变量

同类变量的命名规则

获取、设置成员函数

获取成员函数 被访问字段名的前面加上前缀 get,布尔型的获取成员函数 所有的布尔型获取函数必须用单词 is 做前缀。

设置成员函数 被访问字段名的前面加上前缀 set。(使用eclipse自动生成)

getFirstName(),

getLastName()

isPersistent(),

isString()

setFirstName(),

setLastName(),

setWarpSpeed()

普通成员函数

普通成员函数 采用完整的英文描述说明成员函数功能,第一个单词尽可能采用一个生动的动词,第一个字母小写。

openFile(),

addAccount()

静态常量字段(static final)

全部采用大写字母,单词之间用下划线分隔。

MIN_BALANCE,

DEFAULT_DATE

循环计数器

通常采用字母 i,j,k 或者counter 都可以接受。

i, j, k, counter

数组

数组应该总是用下面的方式来命名:byte[] buffer;

而不是:

byte buffer[];

byte[] buffer

1.6 JAVA的排版规范和元素的先后顺序

1 排版规