代码走查检查点
上一篇 /
下一篇 2010-08-24 14:05:41
/ 个人分类:代码走查
代码走查的最主要的目的是为了发现程序中的逻辑错误,编程风格方面的错误可以通过风格检查的工具去检查。如下的检查单给代码走查的专家发现逻辑错误提供了一个很好的帮助。
序号检查项
1代码的注释与代码是否一致?注释是否是多余的?
2是否存在超过3层嵌套的循环与/或判断?
3变量的命名是否代表了其作用?
4所有的循环边界是否正确?
5所有的判断条件边界是否正确?
6输入参数的异常是否处理了?
7程序中所有的异常是否处理了?
8是否存在重复的代码?
9是否存在超过20行的方法?
10是否存在超过7个方法的类?
11方法的参数是否超过3个?
12是否有多种原因导致修改某个类?
13当发生某个功能变化时,是否需要修改多个类?
14代码中的常量是否合适?
15一个方法是否访问了其他类的多个属性?
16某几项数据是否总是同时出现,而又不是一个类的属性?
17switch语句是否可以用类来替代?
18是否有一类的职责很少?
19是否有一个类的某些属性或者方法没有被其他类所使用?
20在类的方法中是否存在如下的调用形式:a.b().c()?
21是否某个类的方法总是调用另外一个类的同名方法?
22是否某个类总是访问另外一个类的属性与方法?
23是否两个类完成了类似的工作,使用了不同的方法名,却没有拥有同一个父类?
24是否某个类仅有字段和简单的赋值方法与取值方法构成?
25是否某个子类仅使用了父类的部分属性或方法?
补充
1 尽可能不要使用import*
写的人很方便,读的人不爽,引入多余的类影响性能
2 尽量减少同名的类(如java.sql.Date,java.util.Date)
3 用StringBuffer代替String
不要这样 String str = (new String)V.Next();
也不要String Str = s+s1+s2
更不要for(){
Str = "i"+Str;
}
4不要在循环中反复定义创建变量
for(){String str= (new String)v.next();}
5 不要在循环中使用复杂的计算
for(int i=0;i
6 不要有臃肿的判断逻辑
if(o!=null){
if(o.toString()!=null){
if(o.toString().equals(""))}
}
7 合理使用equalIngoreCase
Str.equalIngoreCase("")能使用equals(“”)尽量使用,equalsIngorCase要进行循环比较,消耗Cpu时间
8浮点型要精确比较时不要使用==,而如下进行
Math.abs(x-0.0)
9 可能重复执行的SQl语句尽量使用preparedStatment
10 Select语句中尽量不要使用相同的别名在Sybase 中会有问题
select a.Fid as Fid from...
11在sql中注意敏感的单词要回避使用
DB2 中id flag year month name state
Oracle 中number
Sybase中 count
收藏
举报
TAG: