目錄
SonarQube使用介紹
作業流程:
作業流程介紹
主要作用
衡量代碼質量的幾個指標
SonarQube的UI界面:
個人解決專案中的bug,異味總結
①:變數宣告后不使用,多余變數
②:方法名、變數名不符合命名規范
③:常量命名不規范
④:洗掉無用的依賴
⑤:禁止使用 System.out.println(""); 列印內容
⑥:Controller類中不要拋出例外,需要用try,catch捕獲
⑦:洗掉無用的注釋,例如用于測驗的代碼
⑧:將程式中的 //TODO 盡快完成
如果本篇博客對您有一定的幫助,大家記得留言+點贊+收藏哦,
SonarQube使用介紹
SonarQube? 是一種自動代碼審查工具,用于檢測代碼中的錯誤、漏洞和代碼異味,它可以與您現有的作業流程集成,以實作跨專案分支和拉取請求的持續代碼檢查,
SonarQube 是一個用于代碼質量管理的開源平臺,用于管理源代碼的質量, 通過插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十幾種編程語言的代碼質量管理與檢測,
作業流程:

作業流程介紹
1.開發人員在IDE中開發和合并代碼,并將代碼簽入到DevOps平臺,
2.持續集成工具(如jenkins)檢查、構建和運行單元測驗,集成SonarQube掃描儀分析結果,
3.掃描程式將結果發布到SonarQube服務器,該服務器通過SonarQube界面、電子郵件、IDE內通知(通過SonarLint)和拉入或合并請求的裝飾(使用Developer Edition及更高版本時)向開發人員提供反饋,
主要作用
撰寫整潔代碼
把出現在代碼里的新問題都解決掉,就可以創建并維護一個干凈的代碼基礎,即使是遺留專案,保持新代碼的整潔,也能最侄訓得一個值得驕傲的代碼基礎,
修復代碼缺陷
缺陷圖例和默認質量閾都是基于新代碼周期的 - 當前周期就是處理問題的時間,主要的關注點是上一個版本,通常會選擇30天作為一個周期,
加強質量閾
專案的質量閾是在發布到生產環境之前所需要達到的一系列的條件標準,質量閾可以確保下一個版本的代碼質量總能高于上一個版本,
Sonar的優點:
(1)支持所有語言的檢測,一個工具,搞定所有,
(2)靈活擴展,插拔式使用,自定義的代碼檢測規則,可自定義插件,獨立打成JAR包放到SONARQUBE插件目錄下,重啟即生效,開發使用非常方便,而且自帶UT驗證框架,開發效率高,
(3)規則支持多租戶隔離,租戶可定制自己的規則集,
(4)生態強大,業界有諸多插件,與jenkins友好集成,
(5)部署使用便捷,
(6)架構松耦合,通過與maven/jenkins等集成,將代碼掃描的計算消耗遷移到業務或者構建方的資源上,極大的提升了自身的吞吐能力,
衡量代碼質量的幾個指標
1.Bugs Bug是出現了明顯錯誤或是高度近似期望之外行為的代碼,
2.漏洞 漏洞是指代碼中可能出現被黑客利用的潛在風險點,
3.安全熱點 安全敏感代碼需要手工審核,以便判斷是否存在安全漏洞,
4.異味 代碼異味會困擾代碼的維護者并降低他們的開發效率,主要的衡量標準是修復它們所需的時間,
5.重復率 新代碼中的重復行密度 (%),重復行數,重復代碼塊
6.行數 程式中代碼的行數
SonarQube的UI界面:


等等
sonarqube的官網
個人解決專案中的bug,異味總結
①:變數宣告后不使用,多余變數
正例:localValue/getHttpMessage()/GroupController
②:方法名、變數名不符合命名規范
例如:方法名、引數名統一使用駝峰命名法(Camel命名法),除首字母外,其他單詞的首字母大寫,其他字母小寫,類名每個組合的單詞都要大寫;
③:常量命名不規范
禁止縮寫,命名盡量簡短,不要超過16個字符
采用完整的英文大寫單詞,在詞與詞之間用下劃線連接,如:DEFAULT_VALUE,
同一組的常量可以用常量類封裝在一起,便于參考和維護
代碼中用到常量的,用靜態常量表示,
正例:
Private final static String SUCCESS=”success”;
Private final static String ERROR = “error”;
呼叫:類名.SUCCESS
④:洗掉無用的依賴
import中灰色的部分
⑤:禁止使用 System.out.println(""); 列印內容
推薦使用
private static Log logger = LogFactory.getLog(AopGetService.class);
或者
log.info("章節拼接成功!");
⑥:Controller類中不要拋出例外,需要用try,catch捕獲
⑦:洗掉無用的注釋,例如用于測驗的代碼
⑧:將程式中的 //TODO 盡快完成
⑨:等等~~
如果本篇博客對您有一定的幫助,大家記得留言+點贊+收藏哦,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/312165.html
標籤:其他
