SonarQube速查手册
目录
前言
复杂度(Complexity)
覆盖率(Coverage)
重复(Duplication)
问题(Issues)
可维护性(Maintainability )
可靠性(Reliability)
前言
由于团队开始使用Sonar并且要确定对应的度量指标,因此为了方便查阅,特把Sonar官方文档中的指标翻译成中文。由于本人水平有限,翻译仅供参考。
复杂度(Complexity)
指标(中文) | 指标(英文) | 描述 |
复杂度 | Complexity | 基于代码的分支计算出来的复杂度,即圈复杂度。当一个方法的控制流多了一个分支,它的复杂度就会增加1。每个方法的最小复杂度为1。 |
理解复杂度 | Congnitive Complexity | 理解代码的控制流的难易程度。具体参考 https://www.sonarsource.com/resources/white-papers/cognitive-complexity.html |
覆盖率(Coverage)
指标(中文) | 指标(英文) | 描述 |
分支覆盖 | Condition coverage | 被单元测试覆盖到的分支数 |
分支覆盖率 | Condition coverage(%) |
在包含一些布尔表达式的每一行代码中,条件覆盖率简单地回答了以下问题:“是否将每个布尔表达式都计算为true和false?”这是单元测试执行期间遵循的流控制结构中可能的条件的密度。 分支覆盖率 = (CT + CF)/(2*B) 其中,CT为至少一次被评估为true的分支数,CF为至少一次被评估为false的分支数,B为总分支数。 |
新代码的分支覆盖率 | Condition coverage on new code | 同上,但只针对新代码和更新的代码 |
代码覆盖率 | Line coverage |
代码行覆盖率,即被单元测试覆盖的行数/总代码行数 公式:LC / EL 其中, LC为被单元测试覆盖到的行数;EL为总代码行数。 |
新代码覆盖率 | Line coverage on new code | 新代码行覆盖率,公式同上,但只针对新代码或更新的代码 |
覆盖率 | Coverage |
总覆盖率,即分支覆盖率和代码行覆盖率的总和,它旨在提供更加准确的数据去展现源代码被单元测试覆盖的程度。 公式:(CT+CF+LC)/(2*B+EL) |
新覆盖率 | Coverage on new code | 同上,但只针对新代码和更新的代码 |
代码行 | Lines to cover | 被单元测试覆盖的代码行数 |
覆盖的新代码 | Lines to cover on new code | 被单元测试覆盖的代码行数(只针对新增代码或更新的代码) |
单元测试忽略数 | Skipped unit tests | 忽略的单元测试用例数 |
未覆盖分支 | Uncovered conditions | 单元测试未覆盖的分支数 |
未覆盖新分支 | Uncovered conditions on new code | 单元测试未覆盖的新增分支数 |
未覆盖的代码 | Uncovered lines | 单元测试未覆盖的代码行数 |
未覆盖的新代码 | Uncovered lines on new code | 单元测试未覆盖的新增代码行数 |
单元测试持续时间 | Unit tests duration | 单元测试所持续的时间 |
单元测试错误数 | Unit test errors | 单元测试执行错误数,即运行异常 |
单元测试失败数 | Unit test failures | 单元测试执行失败数,即运行正常但是得到非预期结果 |
单元测试成功(%) | Unit test success density (%) | (单元测试用例数-(单元测试错误数+单元测试失败数))/单元测试用例数*100 |
单元测试数 | Unit tests | 单元测试用例数 |
重复(Duplication)
指标(中文) | 指标(英文) | 描述 |
重复块 | Duplicated blocks |
重复行块数。如何定义一个块是否重复块: JAVA类项目: - 无论标记和行数多少,只要有至少10个连续重复的语句,则定义为重复块; 非JAVA类项目: |
新代码中的重复块 | Duplicated blocks on new code | 同上,但只针对新代码 |
重复文件 | Duplicated files | 重复的文件数 |
重复行 | Duplicated lines | 重复的代码行数 |
重复行(%) | Duplicated lines (%) | 重复行数/总行数*100 |
新代码中的重复行 | Duplicated lines on new code | 同上,但只针对新代码 |
新代码中的重复行密度(%) | Duplicated lines(%)on new code | 同上,但只针对新代码 |
问题(Issues)
指标(中文) | 指标(英文) | 描述 |
阻断违规 | Blocker violations | 阻断违规数 |
确认问题 | Confirmed issues | 确认问题数 |
严重违规 | Critical violations | 严重违规数 |
误判问题 | false positive violations | 误判问题数 |
提示违规 | Info violationd | 提示违规数 |
违规 | violations | 违规数 |
主要违规 | major violations | 主要违规数 |
次要违规 | minor violations | 次要违规数 |
新阻断违规 | New blocker violations | 新阻断违规数 |
新严重违规 | New critical violations | 新严重违规数 |
新提示违规 | New info violations | 新提示违规数 |
新违规 | New violations | 新违规数 |
新主要违规 | New major violations | 新主要违规数 |
新次要违规 | New minor violations | 新次要违规数 |
开启问题 | Open issues | 状态为开启的问题数 |
重开问题 | Reopen issues | 状态为重开的问题数 |
不修复的问题 | Unfixed issues | 状态为不修复的问题数 |
可维护性(Maintainability )
指标(中文) | 指标(英文) | 描述 |
技术债务 | Technical Debt | 修复所有可维护性问题所需的工作量,单位为分钟。当该值以天为单位展示时默认为8小时/天。 |
新代码的技术债务 | Technical Debt on new code | 同上,但只针对新代码。 |
坏味道 | Code Smells | 坏味道数 |
SQALE评级(可维护率) | - |
根据项目技术债务比率而给与的项目评级。默认的可维护性等级为: A = 0 - 0.05,即在0到5%之间 B = 0.06 - 0.1,即在6%到10%之间 C = 0.11 - 0.2,即在11%到20%之间 D = 0.21 - 0.5,即在21%到50%之间 E = 0.51 - 1,即超过50% |
达到可维护性为A级所需的工作 | - | 能达到上述评级为A所需的工作量 |
新代码可维护率 | Maintainability Rating on new code | 同上,但只针对新代码。 |
新增坏味道 | New code smell | 新增坏味道数 |
技术债务比率 | Technical Debt Ratio |
开发成本与修复成本的比率。 该比率=修复成本/开发成本,也=修复成本/(代码行数*每行代码开发成本) 每行代码开发成本为0.06天 |
新技术债务比率 | Technical Debt Ratio on new code | 在泄漏期间修改代码的开发成本与由此修改引入的问题成本之比。 |
可靠性(Reliability)
指标(中文) | 指标(英文) | 描述 |
新增漏洞 | New Vulnerabilities | 新增安全漏洞数 |
安全比率 | Security Rating |
A = 0 安全漏洞 B = 至少1个Minor漏洞 C = 至少1个Major漏洞 D = 至少1个Critical漏洞 E = 至少1个Blocker漏洞 |
新代码安全率 | Security Rating on new code | 同上,但只针对新代码。 |
安全修复工作 | Security remediation effort | 修复所有安全漏洞所需的工作量,单位为分钟。当该值以天为单位展示时默认为8小时/天。 |
新代码的安全修复工作 | Security remediation effort on new code | 同上,但只针对新代码。 |
漏洞 | Vulnerabilities | 安全漏洞数 |
大小(Documentation)
指标(中文) | 指标(英文) | 描述 |
类 | Classes | 类数目 |
注释行数 | Comment lines |
该指标包含注释或已注释代码的行数。不重要的注释行(即空注释行、只包含特殊字符的注释行等)不会增加注释行数量。 /** +0 => empty comment line |
注释(%) | Comments(%) | 注释行数/(注释行数+代码行数) |
目录 | Directories | 目录数 |
文件 | Files | 文件数 |
方法 | Functions | 方法数 |
行数 | Lines | 物理行数,包含回车。 |
代码行数 | Lines of code | 代码行数,包含至少一个非空格、非tab和非注释的字母的代码行数 |
新增代码行数 | Lines of new code | 新增代码行数,包含至少一个非空格、非tab和非注释的字母的代码行数 |
项目 | Projects | 项目数 |
语句 | Statements | 语句数 |
SonarQube速查手册相关推荐
- [WebDev]Web 开发与设计师速查手册大全
Cheat Sheet 一词在中文中并没有很贴切的对译,大概是考试作弊条一类的东西,这要求 Cheat Sheet 必须短小精悍又覆盖广泛,作为 Web 开发与设计师,免不了在工作时查询大量资料,某个 ...
- 最全pandas函数用法速查手册(高清版)
Pandas 是 Python 的核心数据分析支持库,拥有快速.灵活.明确的数据结构,旨在简单.直观.快速地处理关系型.标记型数据,是一款强大.灵活的开源数据分析工具. 但是pandas的知识点很多, ...
- Excel公式与函数案例速查手册/电脑技巧从入门到精通丛书
出版社: 机械工业出版社; 第1版 (2013年12月1日) 丛书名: 电脑技巧从入门到精通丛书 平装: 770页 语种: 简体中文 开本: 32 条形码: 9787111448761 商品尺寸: 1 ...
- 【收藏】Linux系统常用命令速查手册(附赠PDF档)
给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,获取<Linux系统常用命令速查手册>.PDF版. 联系小姐姐,备注"liunx命令 ...
- 【收藏】Linux系统常用命令速查手册(附PDF下载链接)
给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,可以在+qq. 2 3 5 53 3 1 0 4 6 备注"liunx命令",即可获取 ...
- 135 页的《机器学习速查手册》,公式、图表都有,附下载!
机器学习中的数学原理和公式推导还是非常重要的,但知识点较为繁杂,且不易整理!今天推荐一份开源的<机器学习速查手册>,并且制作成了电子版 PDF,方便大家查阅~ 这份手册最大的特点就是包含许 ...
- pandas速查手册(中文版)
本文翻译自文章:Pandas Cheat Sheet - Python for Data Science 对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重要的Python包.它 ...
- 给运维工程师的Cheatsheets! 《Shell脚本速查手册》免费下!
简介:Shell 作为 Linux 中的第一语言,几乎每一个使用 Linux 的人都用到或用过 Shell,但绝大多数人都并不能掌握 Shell 编程的基本能力和技巧. 2021 年,阿里云开发者学堂 ...
- HTML5 标签、事件句柄属性以及浏览器兼容情况速查手册
随着主流浏览器对 HTML5 的不断支持和完善,越来越多的开发者开始使用 HTML5 来开发各种功能强大的 Web 应用程序,HTML5 正引领互联网新革命.为了方便大家更好的学习 HTML5,今天这 ...
- 叮,您有一份ML.NET 速查手册请查收!
点击上方蓝字 关注我们 (本文阅读时间:7分钟) 本篇文章简要介绍 ML.NET 背景和面向 .NET 开发的特色功能,以及典型的机器学习编码示例,并分享自己整理的 ML.NET API 速查手册. ...
最新文章
- 大数据促健康产业高增长
- 一个很SB的方法,来开始调一个刚启动就SB的程序
- css float(脱离正常流:向左/右浮动直到父元素/另一float, 不占空间)
- linux 删除文件反选
- Python 3.5.2建立与DB2的连接
- 斯坦福大学机器学习——高斯判别分析
- ubuntu之find方法
- java 多个监听_​Java中使用for循环对多个Jbutton按钮监听
- mysql 建模教程 pdf,PowerDesigner 15 系统分析与建模实战 PDF扫描版[50MB]
- 超分辨率重建测试(DASR)
- 像程序员一样思考——解决问题
- android 设置闹钟,android 设置闹钟
- z-index诡异事件之背锅侠
- pandas 取excel 中的某一列_Pandas进阶修炼120题,给你深度和广度的船新体验
- 解决视频在钉钉播放出现转码或闪烁
- python 可视化界面学习简易教程
- 随e 听教师助手 随e听教师助手 英语课件试卷制作 英语学习软件
- MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)
- python循环遍历word,Python遍历文件写入word
- CSS -- CSS设置鼠标样式(小手,移动,文本,禁止)
热门文章
- 计算机动漫游戏与制作,计算机动漫与游戏制作标准规范.doc
- 微信怎么关闭微信朋友圈及点赞提醒通知?
- linux桌面只运行浏览器,分享|4 个 Linux 桌面上的轻量级图像浏览器
- 取关几十个优质公众号,是否可惜?
- 数显之家快讯:【SHIO世硕心语】父亲的格局,母亲的情绪,是一个家最好的风水
- 2019小程序创业如何把握正确方向
- 写一个获取非行间样式的函数
- 在excel中批量插入分页符
- python条形图y轴_python 中条形图绘制
- android开发 节省流量,流量节省程序模式 | Android 开源项目 | Android Open Source Project...