1、目標(biāo)
idea集成sonar的代碼檢查,實(shí)現(xiàn)可以在提交代碼前就檢查你的代碼,而不是將代碼提交之后,之后再去檢查。
Sonar可以從以下七個維度檢測代碼質(zhì)量,而作為開發(fā)人員至少需要處理前5種代碼質(zhì)量問題
- **不遵循代碼標(biāo)準(zhǔn) **sonar可以通過PMD,CheckStyle,Findbugs等等代碼規(guī)則檢測工具規(guī)范代碼編寫
- 潛在的缺陷 sonar可以通過PMD,CheckStyle,Findbugs等等代碼規(guī)則檢測工具檢測出潛在的缺陷
- **糟糕的復(fù)雜度分布 **文件、類、方法等,如果復(fù)雜度過高將難以改變,這會使得開發(fā)人員難以理解它們 且如果沒有自動化的單元測試,對于程序中的任何組件的改變都將可能導(dǎo)致需要全面的回歸測試
- **重復(fù) **顯然程序中包含大量復(fù)制粘貼的代碼是質(zhì)量低下的,sonar可以展示源碼中重復(fù)嚴(yán)重的地方
- 注釋不足或者過多 沒有注釋將使代碼可讀性變差,特別是當(dāng)不可避免地出現(xiàn)人員變動時(shí),程序的可讀性將大幅下降 而過多的注釋又會使得開發(fā)人員將精力過多地花費(fèi)在閱讀注釋上,亦違背初衷
- **缺乏單元測試 **sonar可以很方便地統(tǒng)計(jì)并展示單元測試覆蓋率
- 糟糕的設(shè)計(jì) 通過sonar可以找出循環(huán),展示包與包、類與類之間相互依賴關(guān)系,可以檢測自定義的架構(gòu)規(guī)則 通過sonar可以管理第三方的jar包,可以利用LCOM4檢測單個任務(wù)規(guī)則的應(yīng)用情況, 檢測耦合。
2、前提
已經(jīng)搭建了sonarqube
jdk8環(huán)境(我的是jdk7,運(yùn)行也沒問題)
3、安裝插件
設(shè)置——>Plugins中查找sonarLint插件,并安裝。安裝完成后,要重啟IDEA。

4、配置項(xiàng)目
1)配置服務(wù)器
我這里是編輯形式打開的彈窗,第一次添加時(shí),是需要自己添加自己使用的sonar平臺地址,一般是公司內(nèi)部搭建的地址

2)選擇項(xiàng)目
上面配置好服務(wù)器的信息之后,就會獲取到相應(yīng)項(xiàng)目的信息,如下:

配置完成后,在當(dāng)前項(xiàng)目環(huán)境下,idea的左下角就可以看到sonar擴(kuò)展了:
