1. 程式人生 > >免費使用SonarQube 進行程式碼掃描

免費使用SonarQube 進行程式碼掃描

我有一臺線上伺服器,Sonar Qube已經配置好了,但是沒怎麼使用,貢獻出來給大夥用吧。

地址:http://www.mahoutchina.com:9010

有需要用的給我聯絡吧(站短),說明一下用途即可,程式碼不能用於非法用途,公益、慈善類組織機構優先使用,希望對於一些小微企業和非盈利組織提高程式碼水平。

本人對於SonarQube有一定的使用經驗,有不明白的可以提供諮詢服務。

PS:什麼是SonarQube

Sonar是一個用於程式碼質量管理的開源平臺,用於管理原始碼的質量,可以從七個維度檢測程式碼質量
通過外掛形式,可以支援包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種程式語言的程式碼質量管理與檢測

sonarQube能帶來什麼?

Developers Seven Deadly Sins
1.糟糕的複雜度分佈
檔案、類、方法等,如果複雜度過高將難以改變,這會使得開發人員難以理解它們,
且如果沒有自動化的單元測試,對於程式中的任何元件的改變都將可能導致需要全面的迴歸測試


2.重複
顯然程式中包含大量複製貼上的程式碼是質量低下的
sonar可以展示原始碼中重複嚴重的地方

3.缺乏單元測試
sonar可以很方便地統計並展示單元測試覆蓋率

4.沒有程式碼標準
sonar可以通過PMD,CheckStyle,Findbugs等等程式碼規則檢測工具規範程式碼編寫
5.沒有足夠的或者過多的註釋
沒有註釋將使程式碼可讀性變差,特別是當不可避免地出現人員變動時,程式的可讀性將大幅下降
而過多的註釋又會使得開發人員將精力過多地花費在閱讀註釋上,亦違背初衷
6.潛在的bug
sonar可以通過PMD,CheckStyle,Findbugs等等程式碼規則檢測工具檢測出潛在的bug


7.糟糕的設計(原文Spaghetti Design,義大利麵式設計)
通過sonar可以找出迴圈,展示包與包、類與類之間的相互依賴關係
可以檢測自定義的架構規則
通過sonar可以管理第三方的jar包
可以利用LCOM4檢測單個任務規則的應用情況
檢測耦合