SonarQube8.6 使用说明

前文写了SonarQube8.6的安装和使用,这篇文章简要说明SonarQube的基本使用和一些指标说明

菜单和首页说明

在这里插入图片描述

  1. 项目:被扫描的项目 问题:被扫描的项目的问题
  2. 代码规则:代码检测规则
  3. 质量配置:质量配置是在分析时使用的规则集合。可以启用或者禁用某些规则。
  4. 质量阈:正常/错误。可以指定一些指标条件时为错误,比如bug数大于某个值时为错误。
  5. 配置:权限,用户等配置
  6. +号:新增项目

项目概况和统计说明

1、指标说明:一般将鼠标放在图标上就会显示这个指标的说明
2、bugs:bug的数量
3、漏洞:漏洞的数量
4、异味:不规范代码的数量
5、覆盖率:单元测试的对代码的覆盖率
6、重复:重复代码的行数占总代码行数的比例
7、大小:代码行数
8、编程语言:项目检测的编程语言
9、等级说明:由ABCDE5个等级,从A的绿色到E的红色表示严重等级

项目总览

在这里插入图片描述

说明:
1、支持分支检测
2、显示主要指标情况
3、显示项目的检测配置信息

问题总览

在这里插入图片描述
说明:

1、类型:一条规则定义的类型,有4种:bug,漏洞,异味,安全热点时单独的
2、严重程度:有5种:阻断,严重,重要,次要,提示
3、状态:5种:打开,解决,重开,关闭,确认
4、负责人:分配给谁
5、修复预估时间:系统给的预计修复时间
6、评论:可以评论

指标

在这里插入图片描述
指标有:

1、Reliability可靠性

可靠性比率的计算方法)

A = 0 Bug 最高等级A,表示代码无bug
B = at least 1 Minor Bug 代码只要有一个次要bug,等级就为B
C = at least 1 Major Bug 只要包含一个重要bug,等级将为C
D = at least 1 Critical Bug 只要有一个严重bug,等级评估为D
E = at least 1 Blocker Bug 只要有一个最高等级的阻断级别的bug,可靠性评估为E,最低级别。
图中气泡大小根据bug数变化,bug数越大气泡越大。视觉更加直观。

2、Security安全性

安全度指标计算方法

A = 0 Vulnerability 没有漏洞时,项目评估为最高级别A
B = at least 1 Minor Vulnerability 只要包含一个次要漏洞,项目评估为级别B
C = at least 1 Major Vulnerability 只要包含一个重要漏洞,项目评估为级别C
D = at least 1 Critical Vulnerability 只要包含一个严重漏洞,评估为D
E = at least 1 Blocker Vulnerability 只要包含一个阻断漏洞,项目评估为最低级别E
图中气泡大小根据漏洞数变化,漏洞数越大气泡越大。视觉上直观显示。

3、Maintainability

技术债务:Technical Debt,当前不规范的代码,会对以后产品修改的成本造成影响。

开发成本:开发一行代码(LOC)的成本。 示例:如果开发1 LOC的成本估计为30分钟,则此属性的值为30。目前我们采用的是系统默认值30。注意此处成本是指从零开始重写代码所需的成本。

可维护性:可维护性等级范围从A(非常好)到E(非常差)。 评级由技术债务比率的值决定,技术债务比率是将项目的技术债务与从零开始重写代码所需的成本进行比较。 A到D的默认值为0.05,0.1,0.2,0.5。任何超过0.5评级就为E。

举个例子:假设开发成本是30分钟,2,500 LOC的技术债务为24,000分钟的项目将有技术债务比率为24000 /(30 * 2,500)= 0.32。 因此项目的可维护性评级就是D。

4、Coverage覆盖率

Coverage
行覆盖和条件覆盖的混合。单元测试覆盖多少源代码。Coverage = (CT + CF + LC)/(2*B + EL),其中 :

CT = conditions that have been evaluated to ‘true’ at least once至少有一次被判断为true的条件数
CF = conditions that have been evaluated to ‘false’ at least once 至少一次被判断为false的条件数
LC = covered lines = lines_to_cover uncovered_lines 已覆盖的行数
B = total number of conditions 条件总数
EL = total number of executable lines (lines_to_cover) 所有可执行的代码总行数
Line coverage

5、单元测试覆盖行数密度
Line coverage = LC / EL

LC = covered lines (lines_to_cover - uncovered_lines) 已覆盖的行数
EL = total number of executable lines (lines_to_cover) 所有可执行的代码总行数
Condition coverage

Condition Coverage=(CT+CF)/(2*B)

CT = 至少一次使用 ‘true’的条件数
CF = 至少一次使用 ‘false’ 的条件数
B = 条件总数
Unit test success density (%)

测试成功密度=(单元测试总数-(单元测试错误数+单元测试失败数))/单元测试数*100

6、Duplications重复

Duplication

SonarQube使用自己的复制/粘贴检测引擎,可以检测重复:

在源文件中
跨项目中的多个文件
项目的各个模块
跨多个项目
Duplicated Lines(%)

重复率=重复行数/总行数*100

Duplicated blocks:重复代码块行数
Duplicated files:重复文件数
Duplicated lines:重复行数
Size大小

7、Complexity复杂度

以下关键词增加复杂性:if, for, while, case, catch, throw, return (不是方法的最后一个语句), &&, ||, ?

else, default, finally不增加复杂度

代码复杂度过高将难以理解、难以维护。

8、Issues问题

新违
违规
开启问题
重开问题
确认问题
误判问题
不修复的问题

配置

权限应用权限模板,授予和收回项目级别的权限。权限可以授予群组或单独用户
在这里插入图片描述

问题查找

问题排查因项目团队而异,根据不同的规则,不同的修改。
例子:
在这里插入图片描述
很明显的bug问题。。

到此,大概的分析已结束,欢迎指导。。

Active Tcl是一种针对Tcl语言的商业化发行版,提供了许多额外的功能和工具,以帮助开发人员更轻松地使用Tcl语言进行软件开发。以下是使用Active Tcl 8.6的教程: 1. 下载和安装:首先,需要在Active Tcl官方网站上下载适合您操作系统的安装程序。下载完毕后,运行安装程序,按照向导中的指示进行安装。 2. 启动Tcl解释器:完成安装后,可以在开始菜单或桌面上找到Active Tcl的图标。单击图标启动Tcl解释器。解释器提供了一个交互式的环境,可以直接执行Tcl脚本或输入命令。 3. 编写和运行脚本:使用任何文本编辑器编写Tcl脚本,然后保存为以.tcl为后缀的文件。打开Tcl解释器,使用source命令加载脚本文件,例如:source "path/to/script.tcl"。脚本将被执行,并输出结果。 4. 操作Tcl库:Active Tcl提供了许多实用的Tcl库和模块,用于处理各种任务和操作。可以使用package命令导入所需的库,例如:package require math。然后可以使用库提供的函数和过程来实现所需的功能。 5. 添加额外的扩展:Active Tcl还支持Tcl扩展,例如Tk图形用户界面工具包。可以使用package命令导入并使用这些扩展,例如:package require Tk。然后可以使用Tk提供的函数和命令创建窗口、按钮等GUI元素。 6. 调试和测试:Active Tcl提供了一些调试和测试工具,以帮助开发人员调试和测试Tcl脚本。可以使用tcltest包来编写测试用例,并使用tcltest命令执行测试。 7. 参考和学习资源:如果需要学习更多关于Tcl语言和Active Tcl的内容,可以参考Active Tcl官方网站上的文档、教程和示例。此外,还可以参考Tcl的官方文档和其他在线资源,以便更深入地了解和学习Tcl语言的使用。 希望这些简要的指南能够帮助您开始使用Active Tcl 8.6进行Tcl语言的开发。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南巷Dong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值