很久沒寫博客了,自從上次寫的設計模式的博客被不知名的鸛貍猿下架了一次之后興趣大減,那時候就沒什么興致寫博客了,但是這段時間還沒有停下來,最近也在研究一些其他的東西,目前有點想做點東西的打算,但好像也沒什么好的切入點,先邊走邊看吧,今天有點興致來玩一下代碼審查的工具了,分享一下吧,也不算什么新技術,但是好像網上的資料都過期了,就寫在這邊,可能會有人有需要把。

    最近在審查代碼,不得不說,很多人的代碼還是寫的很不規(guī)范,之前沒接手現(xiàn)在這個項目的時候還真的不知道原來之前的人寫代碼這么浪,各種魔法數(shù)字亂飛,各種try catch,Collection也不注意性能,只要功能能實現(xiàn)就好了,導致性能異常低下,還有各種從網上copy代碼也不看看性能的,最扯的是竟然看到了一個MD5的實現(xiàn)。。。難道之前寫代碼的人不知道java自帶的md5實現(xiàn)嗎?也就不吐槽了,現(xiàn)在接手代碼需要對代碼進行整改重構,想先大概的掃一遍代碼,不過代碼量的確也很大,肉眼看的話,實在是有點累人,也就想著偷懶看能不能找些自動掃描工具,查了一下,目前用的比較多的也就PMD,checkstyle,findbugs,大致看了下,目前用的人比較多的好像是PMD,而且官網一直也在更新,就上網站下載下來了。

   不知道是不是因為被墻的關系,https://pmd.github.io/ pmd的包下載的特別慢,下載的速度一直保持在10幾K,好不容易下載完了,在下載的中間網上順便查了一下使用手冊,但是竟然發(fā)現(xiàn),網上的資料竟然那么老,都不能用了,還是要去看官方文檔上的資料,筆者使用的是window7的系統(tǒng),下載完之后,解壓出來,按下WIN+R,打開運行命令cmd,進入控制臺,進入到~\pmd-bin-5.4.4\bin,剛才解壓的路徑下,接下來就是要對工程進行掃描了

 

例子如下

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

-d 是dir,指定代碼路徑,筆者掃描的是整個代碼工程,-f 是format,指定要輸出的格式,默認是txt, -R 是指定使用的是哪種規(guī)則集,這里說一下,網上目前看的,除了筆者的這篇文章其他寫的幾乎都是錯的,至少我目前沒看到正確的規(guī)則集,新版的規(guī)則集格式換了,

目前pmd支持的規(guī)則集有 java-basic,java-unusedcode,java-imports,java-design,java-typ

網友評論