PMD的使用学习

是什么?

静态代码分析器

能找出什么问题?

可能的 bugs - 空的 try/catch/finally/switch 声明

死码 - 未使用的本地变量,参数和私有方法

次优代码 - 无用的 String/StringBuffer 使用

过于复杂的表达式 - 不必要的 if 声明,可能可以写成 while 的 for 循环

CPD,复制粘贴探测器,查找多种语言的重复代码:重复代码常常是由复制粘贴产生的。这意味着,bugs 也被复制粘贴了。修正它们意味着,修正所有重复的代码。

集成方式

1、IDE集成

2、jenkins集成

Jenkins -> Manage Jenkins -> Manage Plugins ,在 Jenkins 中安装 PMD 的插件。

这个命令将产生名为 pmd.xml 的 XML 格式的检查报告,这也是 Jenkins 的 PMD 插件所支持的格式。

参数说明

 -d 参数用于指定项目的源码路径

 -f 参数用于指定输出报告文件的格式 

-r 用于指定输出报告文件的文件名 

-rulesets 则用于指定检查规则集合。

也可以通过-R指定一个xml规则集

 pmd -d c:\data\pmd\pmd\test-data\Unused1.java -f xml -R MyRules.xml

 

MyRules.xml内容:

 

在jenkins中生成报告:

生成报告之后在jenkins的job主页可以看到报告,点击进去可看详情

参考文档

https://blog.csdn.net/clamaa/article/details/70045962?locationNum=11&fps=1

https://www.colabug.com/2618099.html

https://pmd.sourceforge.io/pmd-5.1.0/

posted @ 2018-08-27 09:53  不将就!  阅读(1527)  评论(0编辑  收藏  举报