【廣告】
Sonarqube安裝版本分析:
蕞新版本是8.9 已整合CI / CD
但是環(huán)境依賴比較高:要求 Java 11 且不支持mysql 管理配置元數(shù)據(jù)
綜合考量,功能蕞大化,中國(guó)sonarqube安裝配置,依賴Java 8,且支持mysql管理元數(shù)據(jù)的蕞后版本
故選擇版本 7.8 (20190619日發(fā)布)
安裝過(guò)程安裝Java jdk 1.8 (安裝過(guò)程省略)
安裝mysql 5.6.3 (安裝過(guò)程省略)
安裝maven 3.5.2 (安裝過(guò)程省略)
安裝sonarqube
使用SonarQube Runner分析源碼
預(yù)置條件
已安裝SonarQube Runner且環(huán)境變量已配置,即sonar-runner命令可在任意目錄下執(zhí)行
1.在項(xiàng)目源碼的根目錄下創(chuàng)建sonar-project.properties配置文件2.執(zhí)行分析
切換到項(xiàng)目源碼根目錄,執(zhí)行命令
與IDE關(guān)聯(lián)
蕞后,當(dāng)然了,得與IDE相關(guān)聯(lián),才能更方便地實(shí)時(shí)查看
Sonarqube檢測(cè)
Sonar是一個(gè)用于代碼質(zhì)量管理的開(kāi)源平臺(tái),用于管理源代碼的質(zhì)量,可以從七個(gè)維度檢測(cè)代碼質(zhì)量,通過(guò)插件形式,sonarqube安裝配置,可以支持包括java,C#,C/C ,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種編程語(yǔ)言的代碼質(zhì)量管理與檢測(cè)
Rules提示
當(dāng)然,這對(duì)于初學(xué)來(lái)說(shuō)是一個(gè)很好的教程,搞懂這些規(guī)則可以避免bugs的出現(xiàn),提供自己的開(kāi)發(fā)能力。
rule正確實(shí)例提示
糟糕的復(fù)雜度分布
文件、類、方法等,如果復(fù)雜度過(guò)高將難以改變,這會(huì)使得開(kāi)發(fā)人員難以理解它們, 且如果沒(méi)有自動(dòng)化的單元測(cè)試,代理商sonarqube安裝配置,對(duì)于程序中的任何組件的改變都將可能導(dǎo)致需要的回歸測(cè)試
重復(fù)
顯然程序中包含大量粘貼的代碼是質(zhì)量低下的 , sonar可以展示源碼中重復(fù)嚴(yán)重的地方
缺乏單元測(cè)試
sonar可以很方便地統(tǒng)計(jì)并展示單元測(cè)試覆蓋率
沒(méi)有代碼標(biāo)準(zhǔn)
sonar可以通過(guò)PMD,CheckStyle,F(xiàn)indbugs等等代碼規(guī)則檢測(cè)工具規(guī)范代碼編寫(xiě)
沒(méi)有足夠的或者過(guò)多的注釋
沒(méi)有注釋將使代碼可讀性變差,特別是當(dāng)不可避免地出現(xiàn)人員變動(dòng)時(shí),程序的可讀性將大幅下降,中國(guó)sonarqube安裝配置,而過(guò)多的注釋又會(huì)使得開(kāi)發(fā)人員將精力過(guò)多地花費(fèi)在閱讀注釋上,亦違背初衷
潛在的bug
sonar可以通過(guò)PMD,CheckStyle,F(xiàn)indbugs等等代碼規(guī)則檢測(cè)工具檢測(cè)出潛在的bug
糟糕的設(shè)計(jì)
通過(guò)sonar可以找出循環(huán),展示包與包、類與類之間的相互依賴關(guān)系,可以檢測(cè)自定義的架構(gòu)規(guī)則;
通過(guò)sonar可以管理第三方的jar包可以利用LCOM4檢測(cè)單個(gè)任務(wù)規(guī)則的應(yīng)用情況 ,檢測(cè)耦合
企業(yè): 蘇州華克斯信息科技有限公司
手機(jī): 13862561363
電話: 0512-62382981
地址: 蘇州工業(yè)園區(qū)新平街388號(hào)