幾個提高代碼質量,檢查代碼規范的工具


          1.FindBugs:查錯
           目前版本0.9.1,有for eclipse的插件. 網址是http://findbugs.sourceforge.net.
           
           工作原理:檢查程序生成的class的工具.
           
           界面:獨立運行的提供圖形界面,很友好,有bug報告.
           
           可用性:大多數提示有用,值得改
           
           插件:
            可以設置基本和檢查的錯誤類別.
            插件保存設置有問題,我是關閉項目后臺修改了配置文件,在裝入才成功改了配置的.
            bug臨時解決: 使用獨立的findbugs設置規則,然后到C:\Documents and Settings\XXX\下找.Findbugs_prefs,然后改名覆蓋eclipse project下的.fbprefs (先關閉你的project)
           
           配置沒有查找功能,不過縮寫能讓我們很快找到某個規則
           
          2.PMD:主要是查錯
           目前版本3.2,有for eclipse以及其他ide的插件.網址是http://pmd.sourceforge.net
           工作原理:檢查源碼
           可用性:一部分值得修改,有些過于嚴格
           界面:獨立運行的是命令行界面,命令比較簡單.
           插件:可以配置規則,有一個獨立的窗口顯示提示,分5級提示,很友好
           
           使用:建立自己的規范,然后用于實際使用中.
           
          3.CheckStyle:主要查代碼規范
           目前版本4.0 beta 5,有for eclipse的插件.網址是http://checkstyle.sourceforge.net.
           工作原理:檢查源碼,對javadoc,書寫格式等進行檢查.
           規則定義:默認的規則是sun的編碼規范.不過按照sun的規則則過于嚴格,而且每個公司也有自己的規范,和sun的不同,所以需要自定義規范. 

          4.JTest 重量級的商業工具
           目前版本7.0.7,有for eclipse的插件.網址是http://www.parasoft.com/
           
           不推薦使用,不過功能強大,可以進行代碼檢查,可以自動生成單元測試和進行單元測試.(不過就是太慢了,而且生成的單元測試沒太大用途)
           
           
           

          使用感覺:

           安裝上插件后,對自己的項目進行檢查,發現警告太多了,有點發蒙的感覺.不過把警告看一遍,覺得都很有道理,有些也確實是一些錯誤.
           當然PMD和CheckStyle的規范太嚴格,最后還是配置了一下.
           
           通過改正警告,感覺還是不錯,至少可以說自己的代碼可以通過工具的檢測了.
           
           當然基礎代碼和項目代碼還是不一樣的,基礎代碼往往比較復雜,所以和普通項目代碼的規范應該有所不同.有些規則只能用在普通代碼上,用在基礎類代碼上往往沒法處理.
           
          其他

          代碼查錯推薦使用Findbugs和PMD,代碼書寫規范推薦使用CheckStyle進行檢查.這樣不僅能查出一些基本的錯誤,也能提高項目的代碼質量.對提高自己的代碼水平也是非常好.

          推薦項目組建立統一的規則,代碼復查的時候就使用這些工具,省時省力.

          實乃居家旅行,殺人越貨必備之工具也.(因為肯定有人要罵你,呵呵,也是你找"差"的工具)


           
           

          posted on 2005-08-29 11:49 Scud(飛云小俠) 閱讀(2647) 評論(0)  編輯  收藏 所屬分類: Java

          <2005年8月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          公告

          文章發布許可
          創造共用協議:署名,非商業,保持一致

          我的郵件
          cnscud # gmail


          常用鏈接

          留言簿(15)

          隨筆分類(113)

          隨筆檔案(103)

          相冊

          友情鏈接

          技術網站

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 湖南省| 徐汇区| 邹城市| 桐庐县| 曲阳县| 东乌珠穆沁旗| 广西| 博客| 克什克腾旗| 新晃| 囊谦县| 宜章县| 桦川县| 辽阳县| 丹棱县| 东源县| 泊头市| 钦州市| 锡林郭勒盟| 津南区| 米林县| 澜沧| 仙游县| 聂拉木县| 敖汉旗| 来宾市| 定结县| 黄骅市| 阿拉善右旗| 玛纳斯县| 常熟市| 卫辉市| 通山县| 东莞市| 池州市| 莱阳市| 桦川县| 山丹县| 华坪县| 凤山县| 辽宁省|