项目总体描述

总体描述信息包括:质量阈(Quality Gate),Bugs、漏洞、坏味道的评级和数量,覆盖率,代码重复率,代码行数,语言。

sonarqube measures

项目的质量阈(Quality Gate)是在发布到生产环境之前所需要达到的一系列的条件标准。质量阈可以确保下一个版本的代码质量总能高于上一个版本。包括正常(Passed)、警告(Warning)、错误(Failed) 三个等级。

项目指标(Measures)

项目指标主要包括如下几个部分:

  • 可靠性(Reliability)

  • 安全性(Security)

  • 可维护性(Maintainability)

  • 覆盖率(Coverage)

  • 重复(Duplications)

  • 大小(Size)

  • 复杂度(Complexity)

  • 问题(Issues)

可靠性、安全性、可维护性

这三者都是由插件对源码进行分析所得的结果。

可靠性(Reliability) 与 Bugs 数量相关

sonarqube measures reliability
  • Bugs: 出现了明显错误或是高度近似期望之外行为的代码。可查看 Bugs 总数、每个文件的 Bug 数量、Bug 的具体位置和详细描述信息。

  • 比率(Rating): 总的评分、每个文件的评分。

  • 修复工作(Remediation Effort): 总的修复时间、每个文件的修复时间。

安全性(Security) 与 vulnerabilities(漏洞) 有关。

sonarqube measures security
  • 漏洞(Vulnerabilities): 代码中可能出现被黑客利用的潜在风险点。可查看漏洞总数、每个文件的漏洞数量、漏洞的具体位置和详细描述信息。

  • 比率(Rating): 总的评分、每个文件的评分。

  • 修复工作(Remediation Effort): 总的修复时间、每个文件的修复时间。

可维护性(Maintainability) 与 Code Smells(坏味道) 有关。

sonarqube measures maintainability
  • 坏味道(Code Smells): 坏味道会困扰代码的维护者并降低他们的开发效率,主要的衡量标准是修复它们所需的时间。坏味道总数、每个文件的坏味道数量、坏味道的具体位置和详细描述信息

  • 债(Debt):

  • 债务率(Debt Ratio):

  • 比率(Rating): 总的评分、每个文件的评分

三者信息展示方式类似,以 Code Smells(坏味道) 为例,查看每个文件的评级:

sonarqube measures maintainability maintainability

查看代码具体的问题,以红圈白箭头标记:

sonarqube measures issues issue

覆盖率(Coverage)

测试覆盖率,包括新增代码(TODO)的测试覆盖率以及整个项目的测试覆盖率。

sonarqube measures coverage

查看单个文件时,测试未被覆盖的地方会左侧会标记为红色竖线。

sonarqube measures coverage coverage

重复(Duplications)

重复的代码,包括新增代码(TODO)的重复情况以及整个项目的代码重复情况。

sonarqube measures duplications

查看单个文件时,点击代码左侧的灰色竖条,可以查两个文件具体重复的内容。

sonarqube measures duplications duplication

大小(Size)

整个项目的代码行数、文件数、方法数等。

sonarqube measures size

复杂度(Complexity)

应用的控制流是简单还是复杂。

sonarqube measures complexity

问题(Issues)

分析代码时发现的问题,问题与可靠性、安全性、可维护性相关。

sonarqube measures issues

查看存在问题的代码位置、问题的详细描述信息;更改问题的类别、严重程度;打开、关闭、分配问题;对问题进行评论、添加标签等。

sonarqube measures issues issue