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

 

posted @ 2020-03-12 17:28  凉生暖至  阅读(2604)  评论(0编辑  收藏  举报