使用PMD进行代码审查

    好久没写博客了,自从上次写的设计模式的博客被不知名的鹳狸猿下架了一次以后兴趣大减,那时候就没什么兴致写博客了,可是这段时间尚未停下来,最近也在研究一些其余的东西,目前有点想作点东西的打算,但好像也没什么好的切入点,先边走边看吧,今天有点兴致来玩一下代码审查的工具了,分享一下吧,也不算什么新技术,可是好像网上的资料都过时了,就写在这边,可能会有人有须要把。html

    最近在审查代码,不得不说,不少人的代码仍是写的很不规范,以前没接手如今这个项目的时候还真的不知道原来以前的人写代码这么浪,各类魔法数字乱飞,各类try catch,Collection也不注意性能,只要功能能实现就行了,致使性能异常低下,还有各类从网上copy代码也不看看性能的,最扯的是居然看到了一个MD5的实现。。。难道以前写代码的人不知道java自带的md5实现吗?也就不吐槽了,如今接手代码须要对代码进行整改重构,想先大概的扫一遍代码,不过代码量的确也很大,肉眼看的话,实在是有点累人,也就想着偷懒看能不能找些自动扫描工具,查了一下,目前用的比较多的也就PMD,checkstyle,findbugs,大体看了下,目前用的人比较多的好像是PMD,并且官网一直也在更新,就上网站下载下来了。java

   不知道是否是由于被墙的关系,https://pmd.github.io/ pmd的包下载的特别慢,下载的速度一直保持在10几K,好不容易下载完了,在下载的中间网上顺便查了一下使用手册,可是居然发现,网上的资料居然那么老,都不能用了,仍是要去看官方文档上的资料,笔者使用的是window7的系统,下载完以后,解压出来,按下WIN+R,打开运行命令cmd,进入控制台,进入到~\pmd-bin-5.4.4\bin,刚才解压的路径下,接下来就是要对工程进行扫描了git

 

例子以下github

pmd -d E:\Eclipse-Projects\project-1.2-develop -f html -r e:\design.html -R java-design设计模式

-d 是dir,指定代码路径,笔者扫描的是整个代码工程,-f 是format,指定要输出的格式,默认是txt, -R 是指定使用的是哪一种规则集,这里说一下,网上目前看的,除了笔者的这篇文章其余写的几乎都是错的,至少我目前没看到正确的规则集,新版的规则集格式换了,工具

目前pmd支持的规则集有 java-basic,java-unusedcode,java-imports,java-design,java-typeresolution,指定的规则集就是扫描的代码必须知足必定的规则才能够经过,若是不知足的话,pmd都会帮你罗列出不知足规则集的代码,以及行号,还有-r 是-reportfile指定输出的文件路径,这样基本的命令,运行的话就能够等待控制台完成,去指定路径查看html,看工具给咱们的代码提了哪些意见了,笔者认为这个工具仍是不错的,相比与checkstyle的话,checkstyle若是本身不写规则的话,按照google或者sun自带的规则的话,就实在太严格了,满满的都是报错。。性能

PMD里面还给咱们提供了一些好用的GUI的工具里面的cpdgui能够查找重复的代码,bgastviewer能够把代码抽象成语法树等等,剩下的你们能够本身去摸索了,这个工具相对目前其余的代码审查工具,功能仍是挺全面的,你们能够一试。网站

相关文章
相关标签/搜索