常用扫描工具
-
PMD-CPD :Copy/Paste Detector (CPD) 代码重复率检测
-
PMD:分析 Java 源代码,找出潜在的 bug
-
Findbugs :Java bug检查
-
checkstyle : 固定团队编码风格,固定命名风格以及换行风格等
-
P3C: 阿里巴巴Java规范,这个是PMD扫描,但移除了PMD自带的n条规则,只执行阿里的规则
-
Sonar Quabe: 一站式代码质量审查平台
-
JaCoCo(Java Code Coverage):Test coverage 代码单元测试覆盖率插件,例如可以配置全局行覆盖和分支覆盖。
JaCoCo包含了多种尺度的覆盖率计数器,包含
指令级覆盖(Instructions,C0coverage),
分支(Branches,C1coverage)、
圈复杂度(CyclomaticComplexity)、
行覆盖(Lines)、
方法覆盖(non-abstract methods)、
类覆盖(classes) -
Fortify : Fortify SCA 安全扫描工具,用于检测安全编码规则,是一个静态的、白盒的软件源代码安全测试工具
-
SourceMonitor : 度量代码的圈复杂度
码的环复杂度(Cyclomatic complexity,有时也翻译成圈复杂度)是一种代码复杂度的衡量标准, 计算公式。
代码环复杂度 = E − N + 2
E = 程序控制流图中边的个数
N = 程序控制流图中点的个数
很容易得出这样的结论:代码环复杂度越高,越容易出bug。