CheckStyle是什麼?設計模式
CheckStyle是SourceForge下的一個項目,提供了一個幫助JAVA開發人員遵照某些編碼規範的工具。它可以自動化代碼規範檢查過程,從而使得開發人員從這項重要,可是枯燥的任務中解脫出來[1]。工具
2.2. CheckStyle檢驗的主要內容優化
CheckStyle默認提供一下主要檢查內容:ui
·Javadoc註釋編碼
·命名約定spa
·標題插件
·Import語句命令行
·體積大小設計
·空白代碼規範
·修飾符
·塊
·代碼問題
·類設計
·混合檢查(包活一些有用的好比非必須的System.out和printstackTrace)
從上面能夠看出,CheckStyle提供了大部分功能都是對於代碼規範的檢查,而沒有提供象PMD和Jalopy那麼多的加強代碼質量和修改代碼的功能。可是,對於團隊開發,尤爲是強調代碼規範的公司來講,它的功能已經足夠強大。
2.3. CheckStyle的主要運行方式
目前,CheckStyle的版本是3.0,與之前的版本不一樣,它的配置文件是基於XML而非Properties文件。
它的3.0版本提供了兩種運行的方式:
·命令行工具
·ANT任務
同時,CheckStyle目前有不少針對流行IDE的插件,例如Eclipse、IntelliJ IDEA、JBuilder等。可是,大部分都是基於2.4的版本,新版本的特性不支持,同時配置也較爲複雜。
由於通常狀況下,若是與開發過程與環境集成起來,編碼規範的檢查會更加有效,所以,做爲ANT任務的運行方式使用的更加廣泛。
在ANT的build.xml文件中添加CheckStyle任務的步驟以下:
1. 將checkstyle-all-3.1.jar拷貝到項目的LIB目錄;
2. 創建配置文件;
3. 聲明CheckStyle任務:
<taskdef resource="checkstyletask.properties" classpath="${lib}/checkstyle-all-3.1.jar"/>
4. 創建CheckStyle任務:
<target name="checkstyle">
<checkstyle c>
<fileset dir="${src}" includes=" **
public void setOrganization(OrganizationDTO orgDto) throws Exception;
public OrganizationDTO getOrganization() throws Exception;
......
}
解釋:多餘的字段。public OrganizationDTO getOrganization() throws Exception;此時public爲多餘的字段,由於interface定義的時候,就是public的。
須要檢查。
4. - Class X should be declared as final.
解釋:對於單例設計模式,要求返回惟一的類對象。可是HRFactory和ContextFactory爲優化的兩個類,不需求檢查。
其餘的單例類,依然須要進行檢查。
5. Utility classes should not have a public or default constructor.
解釋:工具類沒必要提供默認的構造方法。
須要檢查,僅僅爲提示。
6. File does not end with a newline.
解釋:雖然JAVA程序不要求結尾要用新行,可是習慣上應該要空一行。
須要檢查,僅僅爲提示。
7. - Method 'addChildrenId' is not designed for extension - needs to be
abstract, final or empty.
解釋:經過父類繼承的,此類有點特殊
能夠忽略此類。
8. Variable 'id' must be private and have accessor methods.
解釋:BaseHRDTO類,爲父類,屬性給子類繼承,比較特殊。
可是其餘的類,聲名須要加上範圍'private'關鍵字
須要檢查。
9. -Array brackets at illegal position. 解釋:代碼寫法,習慣不同。 須要檢查,僅僅提示。