Java代码评审检查表
编号 |
检查项 |
是 |
否 |
不适用 |
BUG数 |
代码行 |
备注 |
|
源文件 |
||||||||
1 |
是否以UFT-8编码 |
|
|
|
|
|
|
|
2 |
是否使用通配符导入 |
|
|
|
|
|
|
|
3 |
import语句是否换行 |
|
|
|
|
|
|
|
4 |
每次打开新的块或类似块的构造时,缩进量都会增加两个 空间。 |
|
|
|
|
|
|
|
5 |
是否正确的进行换行处理 |
|
|
|
|
|
|
|
变量 |
||||||||
1 |
每个变量声明(字段或本地)只声明一个变量:不使用 等声明 |
|
|
|
|
|
|
|
2 |
是否遵循了最小长度最多信息原则? |
|
|
|
|
|
|
|
3 |
has/can/is前缀的函数是否返回布尔型? |
|
|
|
|
|
|
|
4 |
类名是否存在重名问题? |
|
|
|
|
|
|
|
注释 |
||||||||
1 |
注释是否较清晰且必要? |
|
|
|
|
|
|
|
2 |
函数是否已经有文档注释?(功能、输入、返回及其他可选) |
|
|
|
|
|
|
|
3 |
特殊用法是否被注释? |
|
|
|
|
|
|
|
4 |
复杂的分支流程是否已经被注释? |
|
|
|
|
|
|
|
声明、空白、缩进 |
||||||||
1 |
变量是否已经在定义的同时初始化? |
|
|
|
|
|
|
|
2 |
类属性是否都执行了初始化? |
|
|
|
|
|
|
|
3 |
代码段落是否被合适地以空行分隔? |
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
6 |
代码行长度是否在要求之内? |
|
|
|
|
|
|
|
语句/功能分布/规模 |
||||||||
1 |
包含复合语句的{}是否成对出现并符合规范? |
|
|
|
|
|
|
|
2 |
是否给单个的循环、条件语句也加了{}? |
|
|
|
|
|
|
|
3 |
单个变量是否只做单个用途? |
|
|
|
|
|
|
|
4 |
单行是否只有单个功能?(不要使用;进行多行合并) |
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
可靠性 |
||||||||
1 |
是否已经消除了所有警告? |
|
|
|
|
|
|
|
2 |
对象使用前是否进行了检查? |
|
|
|
|
|
|
|
3 |
局部对象变量使用后是否被复位为NULL? |
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
6 |
是否函数的所有分支都有返回值? |
|
|
|
|
|
|
|
7 |
是否对方法返回值对象做了null检查,该返回值定义时是否被初始化? |
|
|
|
|
|
|
|
8 |
函数对错误的处理是恰当的? |
|
|
|
|
|
|
|
9 |
异常捕获后是否进行了日志记录或异常继续抛出? |
|
|
|
|
|
|
|
10 |
是否构造方法中不调用当前对象的构造方法 |
|
|
|
|
|
|
|
可维护性 |
||||||||
1 |
实现代码中是否消除了直接常数?(用于计数起点的简单常数例外) |
|
|
|
|
|
|
|
2 |
是否正确使用了日志记录? |
|
|
|
|
|
|
|
3 |
是否有冗余判断语句?(如:if (b) return true; else return false;) |
|
|
|
|
|
|
|
4 |
是否把方法中的重复代码抽象成私有函数? |
|
|
|
|
|
|