代码规范

1. Java 命名约定

 

除了以下几个特例之外,命名时应始终采用完整的英文描述符。此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。

 

1.1. 一般概念

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

* 采用适用于相关领域的术语

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

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

* 避免使用长的名字

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

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

1.2 示范

* 包(Package) 采用完整的英文描述符,应该都是由小写字母组成。

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

* 接口(Interface) 采用完整的英文描述符说明接口封装,所有单词的第一个字母大写。

* 组件/部件(Component) 使用完整的英文描述来说明组件的用途,末端应接上组件类型。

* 异常(Exception) 通常采用字母 e 表示异常。

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

firstName     lastName
* 实参/参数 同字段/属性的命名规则:public void setFirstName(String firstName){
  this.firstName = firstName;
 }
* 局部变量 同字段/属性的命名规则:
** 获取成员函数 被访问字段名的前面加上前缀 get:
getFirstName(),   getLastName()
  ** 布尔型的获取成员函数 所有的布尔型获取函数必须用单词 is 做前缀:
 isPersistent(),       isString()

** 设置成员函数 被访问字段名的前面加上前缀 set。 setFirstName(), setLastName(),        setWarpSpeed()

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

* 静态常量字段(static final) 全部采用大写字母,单词之间用下划线分隔。

    MIN_BALANCE,     DEFAULT_DATE

循环计数器 通常采用字母 i,j,k 或者 counter 都可以接受。 i, j, k, counter

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

 

 

2. Java注释约定

一个很好的可遵循的有关注释的经验法则是:问问你自己,你如果从未见过这段代码,要在合理的时间内有效地明白这段代码,你需要哪些信息。

2.1. 一般概念

* 注释应该增加代码的清晰度

* 保持注释的简洁

* 在写代码之前写注释

* 注释出为什么做了一些事,而不仅仅是做了什么

2.2. 示范

* 文档注释

在紧靠接口、类、成员函数和字段声明的前面注释它们。

注释符有:/* */(多行代码)、//(单行代码)(如果不理解请实践操作一下)

2.3. 注释哪些部分

* 类:类的目的、即类所完成的功能,注释出采用的变量

* 接口:设置接口的目的、它应如何被使用以及如何不被使用

* 成员函数注释:对于设置与获取成员函数,在成员变量已有说明的情况下,可以不加注释;普通成员函数要求说明完成什么功能,参数含义是什么返回什么

* 普通成员函数内部注释:控制结构,代码做了些什么以及为什么这样做,处理顺序等* 实参/参数:参数含义、及其它任何约束或前提条件

* 字段/属性:字段描述

* 局部变量:无特别意义的情况下不加注释

 

 

3.  Java文件样式约定

    所有的 Java(*.java) 文件都必须遵守如下的样式规则:

1) Package/Imports
package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。如:
package hotlava.net.stats;
import java.io.*;
import java.util.Observable;
import hotlava.util.Application;
这里 java.io.* 是用来代替InputStream 和 OutputStream 的。
2) 构造函数
接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。
public CounterSet(int size){ 
this.size = size;
}
3) toString 方法
一般情况下,每一个类都应该定义 toString 方法:
public String toString() { ……}
4. Java编码其他约定
* 缩进
** 缩进应该是每行2个空格(一个Tab键)。
* {} 对
** {} 中的语句应该单独作为一行。 例如, 下面的第1行是错误的, 第2行是正确的:
if (i>0) { i ++;错误, { 和 } 在同一行 
if (i>0) { 
i ++; 
} // 正确, 单独作为一行