Monday, January 30, 2017

Java代码缺陷自动分析工具 - CheckStyle/FindBugs/JaCoCo

1. CheckStyle

规定编码规范或叫code style。它规定了代码的样式问题,例如不能超过80列等。它让code style检查变得非常容易且规则模块化。如规定不允许start import只要加入自定义的checkstyle.xml中即可。

<!-- import中避免星号"*" -->
<module name="AvoidStarImport" />  

2. FindBugs

FindBugs 是一个java bytecode 静态分析工具,它可以帮助java 工程师提高代码质量以及排除隐含的缺陷。35种检查包括命名检查(名字不过长),未使用的代码检查。它是Eclipse一个插件。


3. JaCoCo

Java Code Coverage是一种分析单元测试覆盖率的工具,使用它运行单元测试后,可以给出代码中哪些部分被单元测试测到,哪些部分没有没测到,并且给出整个项目的单元测试覆盖情况百分比。EclEmma 是基于 JaCoCo 的一个 Eclipse 插件。有两个概念line coverage和branch coverage。前者是哪几行代码运行了,后者是遇到ANDs & ORs时候如if (a==2 && b==3)是否执行到。

为了提高coverage,可以对输入参数做mock,改变程序的路劲,让它多执行一些语句即可。

4. Velocity coverage

给出coverage报告和阈值


ref:
checkstyle
FindBugs
JaCoCo
Velocity

No comments:

Post a Comment