SonarQube,一款東坡小編特意搜集而來(lái)的管理代碼質(zhì)量的平臺(tái)軟件。你寫的代碼怎么樣,水平如何,都可以用這款SonarQube來(lái)檢測(cè)。
SonarQube簡(jiǎn)介
Sonar是一個(gè)用于代碼質(zhì)量管理的平臺(tái),用于管理源代碼的質(zhì)量,可以從七個(gè)維度檢測(cè)代碼質(zhì)量
通過(guò)插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種編程語(yǔ)言的代碼質(zhì)量管理與檢測(cè)
sonarQube能帶來(lái)什么
Developers' Seven Deadly Sins
1、糟糕的復(fù)雜度分布
文件、類、方法等,如果復(fù)雜度過(guò)高將難以改變,這會(huì)使得開(kāi)發(fā)人員難以理解它們,
且如果沒(méi)有自動(dòng)化的單元測(cè)試,對(duì)于程序中的任何組件的改變都將可能導(dǎo)致需要全面的回歸測(cè)試

2、重復(fù)
顯然程序中包含大量復(fù)制粘貼的代碼是質(zhì)量低下的
sonar可以展示源碼中重復(fù)嚴(yán)重的地方

3、缺乏單元測(cè)試
sonar可以很方便地統(tǒng)計(jì)并展示單元測(cè)試覆蓋率

4、沒(méi)有代碼標(biāo)準(zhǔn)
sonar可以通過(guò)PMD,CheckStyle,Findbugs等等代碼規(guī)則檢測(cè)工具規(guī)范代碼編寫
5、沒(méi)有足夠的或者過(guò)多的注釋
沒(méi)有注釋將使代碼可讀性變差,特別是當(dāng)不可避免地出現(xiàn)人員變動(dòng)時(shí),程序的可讀性將大幅下降
而過(guò)多的注釋又會(huì)使得開(kāi)發(fā)人員將精力過(guò)多地花費(fèi)在閱讀注釋上,亦違背初衷
6、潛在的bug
sonar可以通過(guò)PMD,CheckStyle,Findbugs等等代碼規(guī)則檢測(cè)工具檢測(cè)出潛在的bug

7、糟糕的設(shè)計(jì)(原文Spaghetti Design,意大利面式設(shè)計(jì))
通過(guò)sonar可以找出循環(huán),展示包與包、類與類之間的相互依賴關(guān)系
可以檢測(cè)自定義的架構(gòu)規(guī)則
通過(guò)sonar可以管理第三方的jar包
可以利用LCOM4檢測(cè)單個(gè)任務(wù)規(guī)則的應(yīng)用情況
檢測(cè)耦合
通過(guò)sonar可以有效檢測(cè)以上在程序開(kāi)發(fā)過(guò)程中的七大問(wèn)題
SonarQube主要特點(diǎn)
代碼覆蓋:通過(guò)單元測(cè)試,將會(huì)顯示哪行代碼被選中
改善編碼規(guī)則
搜尋編碼規(guī)則:按照名字,插件,激活級(jí)別和類別進(jìn)行查詢
項(xiàng)目搜尋:按照項(xiàng)目的名字進(jìn)行查詢
對(duì)比數(shù)據(jù):比較同一張表中的任何測(cè)量的趨勢(shì)

SonarQube安裝
預(yù)置條件
1、已安裝JAVA環(huán)境
2、已安裝有MySQL數(shù)據(jù)庫(kù)
中文補(bǔ)丁包下載:http://docs.codehaus.org/display/SONAR/Chinese+Pack
1、數(shù)據(jù)庫(kù)配置
進(jìn)入數(shù)據(jù)庫(kù)命令
#mysql -u root -p
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
2、安裝sonar與sonar-runner
將下載的sonar-3.7.zip包解壓至Linux某路徑如/usr/local
將下載的sonar-runner-dist-2.3.zip包解壓某路徑/usr/local
添加SONAR_HOME、SONAR_RUNNER_HOME環(huán)境變量,并將SONAR_RUNNER_HOME加入PATH
修改sonar配置文件
編輯<install_directory>/conf/sonar.properties文件,配置數(shù)據(jù)庫(kù)設(shè)置,默認(rèn)已經(jīng)提供了各類數(shù)據(jù)庫(kù)的支持
這里使用mysql,因此取消mysql模塊的注釋
#vi sonar.properties
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版








Apifox(Api調(diào)試管理工具)2.1.29.1 綠色版
小烏龜代碼管理工具(TortoiseGit)2.13.0.1 中文免費(fèi)版
SoapUI破解版5.7.0 最新版
小皮面板(phpstudy)8.1.1.3 官方最新版
Ruby3.0(ruby運(yùn)行環(huán)境)3.0.2 官方版
gcc編譯器( MinGW-w64 9.0.0綠色版)免費(fèi)下載
寶玉編輯助手0.0.05新版
火花編程軟件2.7.2 官方pc版
猿編程少兒班客戶端3.1.1 官方版
Restorator 2009中文版單文件漢化版
十六進(jìn)制閱讀小工具
IT碼農(nóng)工具軟件1.0 中文免費(fèi)版
Postman Canary(網(wǎng)頁(yè)調(diào)試軟件)官方版7.32.0綠色免費(fèi)版
大耳猴少兒編程客戶端1.1.2 官方免費(fèi)版
excel批量sql語(yǔ)句(通過(guò)excel構(gòu)建sql工具)1.0 免費(fèi)版
軟件添加彈窗和網(wǎng)址工具1.0 中文免費(fèi)版
天霸編程助手2.1 單文件中文版
ida pro 中文破解版(反編譯工具)7.0 永樂(lè)漢化版64位
VBA代碼助手3.3.3.1官方版
JDK 12 linux版for 64位
Samba(完全支持Python 3)4.10 官方最新版
猿編程電腦端3.9.1.347 官方PC版
蒲公英 Android SDKV4.1.11 官方最新版
蒲公英iOS SDK2.8.9.1 官方最新版
WxPython中文可視化編輯器1.2 簡(jiǎn)體中文免費(fèi)版
Python代碼生成器1.0 中文免費(fèi)版
C語(yǔ)言代碼實(shí)例助手1.0 免費(fèi)版
notepad++7.8.2 中文免費(fèi)版
wpe pro Alpha 0.9a 中文綠色版




系統(tǒng)自帶的命令行幫助文件(ntcmds.chm)chm格
Excel轉(zhuǎn)換XML工具1.0 免費(fèi)版
實(shí)體類SQL生成工具1.0 綠色免費(fèi)版
XML字符串解析工具2.0.3 免費(fèi)版
VC++Spelly(代碼拼寫檢查)3.0.1 官方最新版
易語(yǔ)言vc6迷你連接器【dos命令形式運(yùn)行】綠
Elastix 20163.0 免費(fèi)版
sql語(yǔ)法分析器(sql語(yǔ)法分析工具)3.1.0 綠色
dev c++下載(DEV-C++)5.9.2 多語(yǔ)安裝免費(fèi)版
vc字體設(shè)置工具(vc6字體設(shè)置工具)1.0 中文綠