黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

CheckStyle中文文檔(自己亂翻譯的)

系統 2028 0

CheckStyle是一個很有趣的開源框架,他可以幫助檢查Java代碼中的代碼規范,傳統的代碼檢查是一種很無聊的工作,而且無法全面的去檢查,而大公司一般都會定期的進行代碼檢查,不想做也不行,怕被別人找麻煩。而CheckStyle就是一個可以幫助我們自動去檢查Java代碼的工具,替我們分擔了不少無聊(但也是重要)的工作。

?

CheckStyle是一個高度可配置(通過XML配置需要檢查的規范),他不但是免費的軟件,而且還是一個開源的軟件

?

在CheckStyle的軟件包里面還包括很多有名的代碼規范,如 Sun Code Conventions (Sun公司的代碼規范),其他的例子其實也都是有名的代碼規范。

?

CheckStyle可以檢查你的代碼中的很多方面,以前它只是用來檢查規范,但在版本3后,很多的規則被添加進來,以致它開始可以用來檢查Java代碼中的一些程序缺陷。

?

CheckStyle的源程序以及編譯好的軟件包可以在SourceForge里面下載,下載的地址是:

?

http://sourceforge.net/project/showfiles.php?group_id=29721

?

你也可以從SVN上去獲取CheckStyle最新的代碼

?

相關工具:

?

CheckStyle可以在命令行或者Ant里運行

?

另外,Eclipse和NetBean上都可以找到CheckStyle的插件

?

?

CheckStyle最新的版本是5.1

?

CheckStyle的配置

?

CheckStyle的配置主要配置哪些規則會被應用到代碼的檢查中,規則用XML來配置,所以規則都會添加在Root 的Module里面,也就是說Root是最根本的級別。

?

TreeWalker:在TreeWalker里面定義的Module會在輪流在源碼所以解析成的語法樹里面去驗證規則

?

接下來是一個典型的配置文檔

?

            <module name="Checker">
    <module name="JavadocPackage"/>
    <module name="TreeWalker">
        <module name="AvoidStarImport"/>
        <module name="ConstantName"/>
        <module name="EmptyBlock"/>
    </module>
</module>
          

?

JavadocPackage是一個很奇怪的檢查,他檢查文件的目錄上是不是有一個package-info.java,一個是Java1.5后的一個新功能,目錄是讓所有的包都有一個共同的注釋。

?

Module TreeWalker里面有三個子Module,分別是AvoidStarImport(不允許*導入,也就是類要一個一個導),ConstantName(變量命名規則,這個規則基本上是通用的),EmptyBlock。

?

對于每一個Module,CheckStyle都會加載一個規則類來處理,以下是幾條CheckStyle加載類的規則

?

1. 直接導入,如果是已經定義了包名的規則類,CheckStyle直接把這個包與類名導入

?

2. 如果沒有定義包名,則會自動在包 com.puppycrawl.tools.checkstyle.checks找到相應的類

?

3. 會自動在類名后自動加Check,如果類名后沒有Check的話

?


Module的屬性

?

我們是可以在Module里面定義屬性的,這樣我們才可以更好的定義規則。

?

比如:

?

    <module name="MethodLength">
    <property name="max" value="60"/>
</module>
  

?

這個Module表示檢查方法的長度不可以超過60行,這里定義了一個max屬性

?

TreeWalker下的規則

?

TreeWalker下的規則都是和語法樹有關的規則

?

比如:

?

    <module name="MethodLength"/>
  

?

這里是檢查方法的長度,方法屬于語法樹的范圍,默認的屬性是 {METHOD_DEF, CTOR_DEF} (構造方法與普通方法都檢查),如果改成這樣

            <module name="MethodLength">
    <property name="tokens" value="METHOD_DEF"/>
</module>
        <module name="MethodLength">
    <property name="tokens" value="CTOR_DEF"/>
    <property name="max" value="60"/>
</module>
          

?

這樣就會把普通方法與構造方法分開來檢查

CheckStyle中文文檔(自己亂翻譯的)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論