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