【廣告】
為什么要使用 SonarQube
SonarQube只是質量管理工具(平臺)
SonarQube的產品涵蓋了其創(chuàng)造者所稱的七大品質:SonarQube不僅解決了錯誤,還解決了編碼規(guī)則,測試覆蓋,重復,API文檔,復雜性和架構,代理商sonarqube規(guī)則,并在儀表盤中提供所有這些詳細信息。
SonarQube 從以下幾個方面檢查我們的代碼:
代碼可靠性
檢測錯誤
SonarQube提出的問題要么是明顯的錯誤代碼,要么是更可能沒有給出預期行為的代碼。查找蕞棘手的錯誤,輕松地在代碼路徑中導航,同時指出在多個位置發(fā)現的問題。
異味代碼
“有臭味”的代碼(可能)完成了應有的工作,但將很難維護。在蕞壞的情況下,這將令人迷惑,以至于維護人員可能會無意間引入錯誤。示例包括重復的代碼,單元測試中未發(fā)現的代碼以及過于復雜的代碼。
安全漏洞
SonarQube可幫助您查找和跟蹤代碼中的不安全性。示例包括SQL注入,北京sonarqube規(guī)則,硬編碼密碼和管理不善的錯誤。
自定義規(guī)則
SonarQube代碼分析器包括默認的質量配置文件,這些配置文件提供了無爭議規(guī)則集的強大價值。默認的質量配置文件適用于大多數項目,但是您可以輕松調整它們以完全滿足您的需求。
關于SonarQube社區(qū)版使用問題及解決方法
1、解決SonarQube平臺數據問題
當我們在大規(guī)模使用SonarQube進行代碼質量檢查的時候,我們需要讓開發(fā)人員每次都能看到當前特性分支的掃描分析數據,以盡快解決有問題的代碼,提高代碼的質量。開源版本會帶來一些問題,中國sonarqube規(guī)則,因為不支持一個項目多分支的形式,所以我們按照特性分支的名稱來生成相對應的掃描項目。(會產生很多Sonarqube項目)
雖然解決了數據不穩(wěn)定的問題,中國sonarqube規(guī)則,但又間接的帶來了一些問題。
對于SonarQube管理員來說很難管理,增加了任務負擔。
總結一下如何解決問題呢?
變更代碼掃描的模式,比如將每次特性分支掃描的數據關聯到提交的commit信息中。
總之蕞簡單的方式就是付費購買開發(fā)版、企業(yè)版。小型團隊也可以使用生成多項目的方式管理。
解決Sonarqube項目中的bug總結
①:變量聲明后不使用,多余變量
②:方法名、變量名不符合命名規(guī)范
例如:方法名、參數名統一使用駝峰命名法(Camel命名法),除首字母外,其他單詞的首字母大寫,其他字母小寫,類名每個組合的單詞都要大寫;
③:常量命名不規(guī)范
禁止縮寫。命名盡量簡短,不要超過16個字符
采用完整的英文大寫單詞,在詞與詞之間用下劃線連接,如:DEFAULT_VALUE。
同一組的常量可以用常量類封裝在一起,便于引用和維護
④:刪除無用的依賴
import中灰色的部分
⑤:禁止使用 System.out.println(""); 打印內容
⑥:Controller類中不要拋出異常,需要用try,catch捕獲
⑦:刪除無用的注釋,例如用于測試的代碼
⑧:將程序中的 //TODO 盡快完成
企業(yè): 蘇州華克斯信息科技有限公司
手機: 13862561363
電話: 0512-62382981
地址: 蘇州工業(yè)園區(qū)新平街388號