原文地址:https://www.jianshu.com/p/ff1d800885ce
慣例第一步肯定是SonarQube的安裝與運行配置了,但這部分不在本文主題內,網上一搜一大把,這里就不講了,大家可以先看這篇文章:SonarQube的安裝、配置與使用
。我們直接講自定義CheckStyle代碼規則的配置方法。
(注:不同的SonarQube版本可能略有不同,大家按線索來)
1、CheckStyle插件安裝(熟悉的可跳過)
CheckStyle插件安裝操作步驟
如圖所示,在
應用市場中搜索CheckStyle即可,搜索出來后,點擊
安裝按鈕(我這里已經安裝了,未安裝的情況再
卸載按鈕的地方會有
安裝按鈕),即可下載安裝,安裝過程中會有一次重啟操作,大家按提示操作即可。
(注:有些版本的SonarQube插件安裝是在
配置-
系統-
更新中心)
2、配置自定義的CheckStyle代碼規則
配置自定義的CheckStyle代碼規則,有兩種方法,使用CheckStyle代碼規則配置文件和啟用SonarQube中的CheckStyle相關代碼規則,下面一一介紹:
- 使用CheckStyle代碼規則配置文件
注意:這種方法只有新建一個質量配置時才能用,質量配置創建好后,就不能利用配置文件來配置代碼規則了。
按照上面兩個圖,填寫好相關信息后,點擊創建按鈕。這里有幾個問題需要注意下:-
問題一 配置文件不能以
<?xml version="1.0" encoding="UTF-8"?>開頭,否則點擊創建按鈕時會有如下錯誤提示:
配置文件中有<?xml?>標簽
因此要把此標簽去掉,直接以<module>標簽開頭,如下圖所示:
配置文件去掉xml文件頭標簽 -
問題二 配置文件中不能有重復的規則,否則點擊
創建按鈕時,會有報錯提示,比如:上圖中提示ReturnCountCheck進行了重復配置,看一下配置文件
重復規則錯誤提示這里我們需要對構造函數和lambda表達式的返回語句個數進行不同的配置,但是SonarQube認為是重復的配置。┑( ̄Д  ̄)┍
-
問題三 配置文件中不能有
規則模板(規則模板后面介紹),當配置文件中有規則模板,點擊創建按鈕時,會有報錯提示,比如:上圖錯誤提示的意思是:規則模板
`規則模板`錯誤提示checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.FinalLocalVariableCheck不能被激活。這條規則是檢測從未改變的局部變量是否添加final修飾詞,那么如果我們需要添加這條規則,怎么處理呢?留到啟用SonarQube中CheckStyle相關代碼規則方法去說。
-
通過使用配置文件的方法配置自定義的CheckStyle代碼規則,或多或少還會有其它問題,要根據提示處理配置文件。所以,一般情況下,不建議使用這種方法,事倍功半的說。╥﹏╥
-
啟用SonarQube中CheckStyle相關代碼規則
如圖所示,在
質量配置中會顯示SonarQube中所有已安裝編程語言中創建好的規則配置(每個語言都有內置Sonar way的默認配置),可見,剛剛創建的CheckStyle配置中,通過文件已配置了18條規則,接下來我們再進行添加。點擊配置名稱,進入配置詳情頁:點擊
質量配置詳情更多激活規則上圖中左邊欄的用於篩選的,可從語言、規則類型、標簽、資源庫等等進行篩選,這里我們要用到
可激活規則列表資源庫的篩選,選中資源庫后,會列舉出已安裝的插件列表,選中CheckStyle,頁面中會篩選出CheckStyle的可配置規則(上圖已經篩選好了,顯示有136條可配置的規則)。接下來就可以對這136條規則進行配置了,細心的同學可能已經發現了,規則列表中的規則有兩類:非模板規則(有
活動按鈕,無規則模板的標簽)和模板規則(無活動按鈕,有規則模板的標簽)。所以,我們也分兩類講:- 非模板規則
對於非模板規則,我們直接在規則列表中點擊列表項的活動按鈕即可,在彈出的對話框中填寫屬性值,如下圖所示:如果想先了解下規則的內容,也可以先點擊規則名稱進入詳情頁,詳情頁也有激活的入口。
激活非模板規則 - 規則模板
對於規則模板,是沒有直接的激活按鈕的。那么規則模板怎么激活呢?且聽下回分解……O(∩_∩)O哈哈~(玩笑臉)
規則模板,需要我們先根據模板創建一條規則,之后再激活創建的規則。接下來說步驟(以上文說的規則模板Final Local Variable為例)-
在規則列表中找到這表規則,點擊規則名稱進入詳情頁
規則詳情頁 - 點擊
創建按鈕,彈出自定義規則創建框根據提示填寫相關信息后(子屬性根據需要進行填寫,不填則使用默認值),點擊
創建自定義規則創建按鈕。
創建成功的規則如下圖所示:在自定義規則下面會有一個創建的規則列表。此時回到之前的規則列表后,會在列表中找到剛剛創建的規則,點擊列表項的
活動即可激活。其次,也可以在此頁面點擊自定義的規則名稱,進入詳情頁在此頁面中,可以進行二次
自定義規則詳情頁編輯、刪除、激活等操作。
-
- 非模板規則
配置好后,可在配置詳情頁中點擊CheckStyle的鏈接,以XML的格式查看已配置好的規則,如下圖所示:
配置好的CheckStyle規則
