SonarQube是什么
是一种静态代码质量分析的开源软件,主要功能如下:
SonarQube本体是底层是Java编写的,对于Java代码分析和Maven,Gradle结合相对容易
拥有大量的插件,能够进行多种编程语言的静态代码分析
能够和CI/CD环境进行集成,能够持续进行代码质量检测。同时针对代码的检测同时,能够针对代码情况进行评分和反馈。现阶段支持的CI/CD有Gitlab,Github,Jenkins等
现在有4种版本:Community版本,Developer版本,Enterprise版本,Data Center版本.
sonarQube的基本使用(四)
7.执行代码检查
用测试用户登录之后,测试用户只能看到公开的4个项目和一个私有的项目testPrj,当前该项目还没有运行过代码检查,所以没有检查结果信息。
将之前的代码检查命令在项目根目录下(与pom.xml同级)执行,执行时会进行相关插件安装。安装成功后,执行代码检查命令,这里我们用令牌代替了用户名密码。
执行成功后输出BUILD SUCCESS.
回到sonarQube,发现testPrj项目的检查结果已经出来了。但是你会发现项目名却不是testPrj,而是别名称,之前也提到过这一点,sonarQube的项目标识符不会变,但是项目名称会被代码项目名覆盖。
点击项目名进去检查总览页,打开项目信息面板我们可以看到项目标识还是testPrj,左侧绿域表示检查结果的质量阈状态,中间区域显示bug和漏洞的数量等信息。
Sonarqube衡量代码质量的几个指标
1.Bugs Bug是出现了明显错误或是高度近似期望之外行为的代码。
2.漏洞 漏洞是指代码中可能出现被hacker利用的潜在风险点。
3.安全热点 安全敏感代码需要手工审核,以便判断是否存在安全漏洞。
4.异味 代码异味会困扰代码的维护者并降低他们的开发效率。主要的衡量标准是修复它们所需的时间。
5.重复率 新代码中的重复行密度 (%),重复行数,重复代码块
6.行数 程序中代码的行数