java代码质量管理与相关eclipse插件

    代码质量控制的四个eclipse插件:
checkstyle - http://eclipse-cs.sourceforge.net/update :检查代码样式;
pmd - http://pmd.sf.net/eclipse:检查代码质量;
ecobertura - http://ecobertura.johoop.de/update/: 检查测试覆盖率;
findbugs - http://findbugs.cs.umd.edu/eclipse/:也是检查代码质量的;

    findbugs、pmd、checkstyle都提供开发团队自定义检查规则的可能,通过团队自己的开发,可使这些工具按照开发团队自身的规范来检查代码。

    findbugs和pmd都是以分析java代码本身为主要功能,而checkstyle则以分析格式为主。软件工程中对代码质量的定义往往不只是对代码编写的要求,javadoc或代码中的注释也是也属于代码质量检查的范围,用findbugs、pmd就不行了,用checkstyle吧。
    单就java代码(非注释、非javadoc)检查来看,fingbugs和pmd也不同:fingbugs分析的对象是*.class文件,而pmd的分析对象*.java源代码。
    分析原理当然也不同了:findbugs是以字节码设计库(code engineering library)为基础的,欲自行编写需熟练掌握字节码设计库,这是另一个开源项目(http://jakarta.apache.org/bcel/),牛人们看看吧。pmd则是基于抽象语义树(ast,abstract syntax tree)的,即:将java源代码根据其语义分析为由若干语义节点(node)的树状结构,pmd根据ast上各节点之间的关系来分析代码中错误或不符合规范的地方。

我现在所在的团队制定的规范是:每个java类不允许超过2000行,每个方法尽量不要超过25行,绝不允许超过100行,包括注视,空白行,每行不允许超过120字符(2000,100,120)。除非有特殊原因,如果要超过,需要经过技术经理的批准。所以你的类或方法超过类约定的行数,一般会进行分解。

代码开发建议:
1、多用设计模式;
2、多用正则表达式
3、多用算法
4、if,for等嵌套不要多过3层,可以使用设计模式来规避此类情况的发生。
5、执行代码检查后的异常都要捕获,不允许有空的catch块。
项目管理启用sonar的代码质量检测与评估。 

猜你喜欢

转载自itoracja.iteye.com/blog/1188420