熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

輕松有效檢查Java代碼的三個工具

2013-11-23 19:27:29  來源: Java核心技術 

  Java項目最枯燥的一部分也是程序員總是避而不談的一部分就是檢查代碼為了區塊括號代碼縮進Javadoc注釋以及命名約定而檢查其他人的上千行代碼的確是一件痛苦的事更糟糕的是通常代碼的檢查還受限於緊迫的項目進度沒有足夠的時間對代碼的細節進行評估因此代碼檢查經常變成了對代碼的美化練習不管檢查者有多麼好的意圖優化和邏輯檢查都退居次席
  
  Java代碼分析器減輕了這樣的痛苦
  
  
  在面對這種情況的時候Java代碼分析器正是對症良藥這些工具盡可能地將代碼檢查過程自動化留給人工來做的就只有檢查類的缺陷以及核心邏輯並確定可能的優化方法優化(去除不必要的實例化對象檢查數據庫連接是否合理確保數據在可能的情況下被緩存)對於任何代碼通常會帶來性能上的極大改進
  
  最近我接觸了各種代碼分析器我覺得一個基本的最重要的功能是與常用IDE(如NetBeansEclipsejEdit以及JDeveloper)的集成有一些代碼檢查工具在查找錯誤方面很有效但是它們需要你根據給出的錯誤行的行號手工來追蹤錯誤這樣的工具使用起來太累人了與IDE環境集成了的工具可以大大簡化這個過程因為代碼檢查的結果是由所使用的IDE顯示的你只需在錯誤上雙擊就可以在Java編輯器中到達錯誤代碼所在的行
  
  我的試用心得
  在我試用過的工具中我發現其中三個工具十分強大並合乎與IDE集成的標准它們是 PMD Checkstyle 和 Jalopy
  
  PMD和Checkstyle
  
  根據PMD的文檔它會對代碼中的如下部分進行檢查
  
   未使用的本地變量
   空的catch塊
   未使用參數
   空if語句
   重復的import語句
   未使用的私有方法
   可能是Singletons的類
   短/長變量及方法名字
  Checkstyle檢查如下部分
  
   Javadoc注釋
   命名約定
   標題
   Import語句
   體積大小
   空白
   修飾符
   塊
   混合檢查(包活一些有用的比如非必須的Systemout和printstackTrace)
  它們的作用
  
  
  不像PMDCheckstyle能夠檢查Javadoc注釋但是PMD提供了一項叫作CPD的很有用的功能它檢查代碼的拷貝粘貼部分我使用PMD找到的最頻繁的錯誤是未使用的import語句未使用的私有變量以及意外重復拼寫Checkstyle可以發現更多的錯誤包括漏掉的Javadoc注釋超過個字符的行不合約定的變量名用tab來代替空格等等兩個工具都允許創建自定義的規則
  
  如果想在你的組織中使用它們中的一個Checkstyle似乎更好一些它檢查公司編碼約定的大多數項目如果增強代碼質量是主要目標那PMD是一個好的選擇但是如果你想要更多的功能並真正使用工具來修改代碼應該試試Jalopy
  
  Jalopy
  Jalopy是一個易於配置的源代碼格式程序它能檢測並修補Java代碼中大量的習慣性缺陷Jalopy更像一個代碼整理器而不是檢查器Jalopy的插件現在已經支持大多數IDE而且多數是無縫集成我發現Jalopy特別強大能夠干許多很酷的事情例如它可以修改代碼縮進對齊括號使行寬符合某個字符長度插入相關的Javadoc注釋以及對import語句排序Jalopy最好的地方是超級自定義功能一個簡單的用戶界面就可以讓你選擇Jalopy的所有功能的開關不需要XML配置文件
  
  不要浪費資源
  我建議大家使用這些工具來代替那些費時費力卻收效甚微的人工代碼檢查工作一旦使用這些工具將代碼檢查變成了一個相對輕松的任務你就可以把代碼檢查作為一項普通工作而不是在項目結尾被進度逼得一團糟時做的事情這些工具也提供了與Apache Ant的集成因此你可以每天運行這些代碼檢查器在編譯或執行單元測試它們也能工作得很好控制好你的代碼並交付那些你真的認為是高質量的東西
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26903.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.