sonar代碼檢測


一、基礎概念

1、代碼靜態質量要求為A

(1)靜態檢測:對程序代碼的檢測

  變量未初始化,空指針引用,數據類型不匹配,返回局部變量,數據字符串邊界溢出,內存泄漏,

(2)動態檢測:對代碼運行時的檢測

  主要進行內存和資源檢查,通過在開辟和釋放操作中進行插樁或者命令替換,進行內存和資源統計分析。

2、重復率最低要求為<5%

3、注釋率最低要求為>30%

4、代碼度量

(1)代碼覆蓋率

(2)圈復雜度

二、java

1、環境:sonarqube7.4    java1.8   sonarScanner3.2.0   mysql5.6(sonarqube7.4需要的MySQL是mysql5.6到8.0(不包含8.0))(需要申請序列號,丟棄)

2、使用sonarcloud環境,創建新項目-》進入根目錄-》運行命令mvn verify sonar:sonar

三、python

1、使用sonarcloud環境,創建新項目->現在scanner包-》配置環境-》進行項目的根目錄運行命令(sonar-scanner.bat -D"sonar.organization=luowencc" -D"sonar.projectKey=NNFiveTimes"-D"sonar.sources=."  -D"sonar.host.url=https://sonarcloud.io" -D"sonar.login=be6d931052eb6ddd570f11ac0e513f035c896099")

2、成功!!!!!!!!

四、sonarcloud平台各種參數含義

1、bugs

2、vulnerabilities(脆弱性):安全漏洞數:

3、code smells:是指在代碼之中潛在問題的警示信號。並非所有的壞味道所指示的確實是問題,但是對於大多數壞味道,均很有必要加以查看,並作出相應的修改。

4、coverage:行覆蓋率對應的是你的代碼行,有多少行被覆蓋,比如,你有100行代碼,執行了90行,那么覆蓋率就是90%;分支分概率是你代碼中存在分析,有多少分支被覆蓋,比如,你有5個分支,那么對應的應該有10條語句(一個分支有兩條語句,ture和false),那么你執行了其中的5條,那么覆蓋率就是50%;

5、duplications

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM