幾個(gè)提高代碼質(zhì)量,檢查代碼規(guī)范的工具
1.FindBugs:查錯(cuò)目前版本0.9.1,有for eclipse的插件. 網(wǎng)址是http://findbugs.sourceforge.net.
工作原理:檢查程序生成的class的工具.
界面:獨(dú)立運(yùn)行的提供圖形界面,很友好,有bug報(bào)告.
可用性:大多數(shù)提示有用,值得改
插件:
可以設(shè)置基本和檢查的錯(cuò)誤類別.
插件保存設(shè)置有問(wèn)題,我是關(guān)閉項(xiàng)目后臺(tái)修改了配置文件,在裝入才成功改了配置的.
bug臨時(shí)解決: 使用獨(dú)立的findbugs設(shè)置規(guī)則,然后到C:\Documents and Settings\XXX\下找.Findbugs_prefs,然后改名覆蓋eclipse project下的.fbprefs (先關(guān)閉你的project)
配置沒(méi)有查找功能,不過(guò)縮寫能讓我們很快找到某個(gè)規(guī)則
2.PMD:主要是查錯(cuò)
目前版本3.2,有for eclipse以及其他ide的插件.網(wǎng)址是http://pmd.sourceforge.net
工作原理:檢查源碼
可用性:一部分值得修改,有些過(guò)于嚴(yán)格
界面:獨(dú)立運(yùn)行的是命令行界面,命令比較簡(jiǎn)單.
插件:可以配置規(guī)則,有一個(gè)獨(dú)立的窗口顯示提示,分5級(jí)提示,很友好
使用:建立自己的規(guī)范,然后用于實(shí)際使用中.
3.CheckStyle:主要查代碼規(guī)范
目前版本4.0 beta 5,有for eclipse的插件.網(wǎng)址是http://checkstyle.sourceforge.net.
工作原理:檢查源碼,對(duì)javadoc,書寫格式等進(jìn)行檢查.
規(guī)則定義:默認(rèn)的規(guī)則是sun的編碼規(guī)范.不過(guò)按照sun的規(guī)則則過(guò)于嚴(yán)格,而且每個(gè)公司也有自己的規(guī)范,和sun的不同,所以需要自定義規(guī)范.
4.JTest 重量級(jí)的商業(yè)工具
目前版本7.0.7,有for eclipse的插件.網(wǎng)址是http://www.parasoft.com/
不推薦使用,不過(guò)功能強(qiáng)大,可以進(jìn)行代碼檢查,可以自動(dòng)生成單元測(cè)試和進(jìn)行單元測(cè)試.(不過(guò)就是太慢了,而且生成的單元測(cè)試沒(méi)太大用途)
使用感覺(jué):
安裝上插件后,對(duì)自己的項(xiàng)目進(jìn)行檢查,發(fā)現(xiàn)警告太多了,有點(diǎn)發(fā)蒙的感覺(jué).不過(guò)把警告看一遍,覺(jué)得都很有道理,有些也確實(shí)是一些錯(cuò)誤.
當(dāng)然PMD和CheckStyle的規(guī)范太嚴(yán)格,最后還是配置了一下.
通過(guò)改正警告,感覺(jué)還是不錯(cuò),至少可以說(shuō)自己的代碼可以通過(guò)工具的檢測(cè)了.
當(dāng)然基礎(chǔ)代碼和項(xiàng)目代碼還是不一樣的,基礎(chǔ)代碼往往比較復(fù)雜,所以和普通項(xiàng)目代碼的規(guī)范應(yīng)該有所不同.有些規(guī)則只能用在普通代碼上,用在基礎(chǔ)類代碼上往往沒(méi)法處理.
其他
代碼查錯(cuò)推薦使用Findbugs和PMD,代碼書寫規(guī)范推薦使用CheckStyle進(jìn)行檢查.這樣不僅能查出一些基本的錯(cuò)誤,也能提高項(xiàng)目的代碼質(zhì)量.對(duì)提高自己的代碼水平也是非常好.
推薦項(xiàng)目組建立統(tǒng)一的規(guī)則,代碼復(fù)查的時(shí)候就使用這些工具,省時(shí)省力.
實(shí)乃居家旅行,殺人越貨必備之工具也.(因?yàn)榭隙ㄓ腥艘R你,呵呵,也是你找"差"的工具)
posted on 2008-01-11 09:48 靈! 閱讀(921) 評(píng)論(0) 編輯 收藏 所屬分類: Java工具雜談