很久沒寫博客了,自從上次寫的設(shè)計(jì)模式的博客被不知名的鸛貍猿下架了一次之后興趣大減,那時(shí)候就沒什么興致寫博客了,但是這段時(shí)間還沒有停下來,最近也在研究一些其他的東西,目前有點(diǎn)想做點(diǎn)東西的打算,但好像也沒什么好的切入點(diǎn),先邊走邊看吧,今天有點(diǎn)興致來玩一下代碼審查的工具了,分享一下吧,也不算什么新技術(shù),但是好像網(wǎng)上的資料都過期了,就寫在這邊,可能會(huì)有人有需要把。
最近在審查代碼,不得不說,很多人的代碼還是寫的很不規(guī)范,之前沒接手現(xiàn)在這個(gè)項(xiàng)目的時(shí)候還真的不知道原來之前的人寫代碼這么浪,各種魔法數(shù)字亂飛,各種try catch,Collection也不注意性能,只要功能能實(shí)現(xiàn)就好了,導(dǎo)致性能異常低下,還有各種從網(wǎng)上copy代碼也不看看性能的,最扯的是竟然看到了一個(gè)MD5的實(shí)現(xiàn)。。。難道之前寫代碼的人不知道java自帶的md5實(shí)現(xiàn)嗎?也就不吐槽了,現(xiàn)在接手代碼需要對(duì)代碼進(jìn)行整改重構(gòu),想先大概的掃一遍代碼,不過代碼量的確也很大,肉眼看的話,實(shí)在是有點(diǎn)累人,也就想著偷懶看能不能找些自動(dòng)掃描工具,查了一下,目前用的比較多的也就PMD,checkstyle,findbugs,大致看了下,目前用的人比較多的好像是PMD,而且官網(wǎng)一直也在更新,就上網(wǎng)站下載下來了。
不知道是不是因?yàn)楸粔Φ年P(guān)系,https://pmd.github.io/ pmd的包下載的特別慢,下載的速度一直保持在10幾K,好不容易下載完了,在下載的中間網(wǎng)上順便查了一下使用手冊(cè),但是竟然發(fā)現(xiàn),網(wǎng)上的資料竟然那么老,都不能用了,還是要去看官方文檔上的資料,筆者使用的是window7的系統(tǒng),下載完之后,解壓出來,按下WIN+R,打開運(yùn)行命令cmd,進(jìn)入控制臺(tái),進(jìn)入到~\pmd-bin-5.4.4\bin,剛才解壓的路徑下,接下來就是要對(duì)工程進(jìn)行掃描了
例子如下
pmd -d E:\Eclipse-Projects\project-1.2-develop -f html -r e:\design.html -R java-design
-d 是dir,指定代碼路徑,筆者掃描的是整個(gè)代碼工程,-f 是format,指定要輸出的格式,默認(rèn)是txt, -R 是指定使用的是哪種規(guī)則集,這里說一下,網(wǎng)上目前看的,除了筆者的這篇文章其他寫的幾乎都是錯(cuò)的,至少我目前沒看到正確的規(guī)則集,新版的規(guī)則集格式換了,
目前pmd支持的規(guī)則集有 java-basic,java-unusedcode,java-imports,java-design,java-typ