我是靠谱客的博主 包容雨,最近开发中收集的这篇文章主要介绍sonar web功能简介,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

sonar web功能介绍

    • 前言
    • 一、总项目概览:
    • 二、单项目总览
    • 三、问题查找与处理
    • 四、指标
    • 五、代码
    • 六、活动
    • 七、代码规则
    • 八、质量配置
    • 九、质量阈
    • 十、配置
    • 十一、帮助

前言

安装指南请查看另外一篇:链接

一、总项目概览:

在这里插入图片描述

  1. 点击展示有权限的项目
  2. bm-mallorder-parent项目的名称,maven项目一般以主pom下的artifactId 属性值为名
  3. 扫描结论, “错误” 表示这一次与上一次的扫描对比有新增bug。 "正常情况"表示首次扫描或者与上一次扫描没有新增问题。
  4. "157k"代表扫描的代码行数
  5. 代表扫描的语言类型
  6. bugs:包括各个等级的bug数量
  7. 漏洞:安全相关问题
  8. 异味:可能存在的问题,比如长发发,超长标识,太多参数等。
  9. 覆盖率: 单元测试的覆盖率,需要额外的单元测试插件
  10. 重复率:表示代码重复的数据。

二、单项目总览

在这里插入图片描述

重点关注标注颜色的地方

  1. 质量阈:这是判断项目是否正常的结论显示,如果显示错误,则不符合质量阈的配置的规则,现在配置主要的规则有代码重复率(不能大于5%),有代码bug以及漏洞级别(不能高与C级别)。一般是要第二次扫描才能做出对比。质量阈详细配置请查看后面的质量阈章节。
  2. 可靠性,也就是bug,可靠性等级为ABCDE,bug一般指的是明显的错误
    A表示代码无bug
    B代码有一个次要bug
    C包含一个重要bug
    D有一个严重bug
    E有一个最高等级的阻断级别的bug
  3. 安全性,也就是安全漏洞,等级也分为ABCDE
    A为没有漏洞时
    B为只要包含一个次要漏洞
    C为只要包含一个重要漏洞
    D只要包含一个严重漏洞
    E只要包含一个阻断漏洞
  4. 质量配置:
    也就是质量扫描规则,这个配置很重要,决定着你的代码bug量会有多少,默认的官方规则非常多,建议项目自定义规则,这个可以参考后面质量配置章节。
  5. 可维护性,也就是异味,一般就是指代码写法上的规范问题,一般指的是隐藏的错误,等级也分为ABCDE
    A:小于等于5%
    B: 大于5%小于等于10%
    C: 大于10%小于等于20%
    D:大于20%小于等于50%
    E:大于50%
    债务:代码修完预计需要时间,时间越长说明项目问题越多。
  6. 代码覆盖率:
    一般是指单元测试覆盖率,以maven项目来说,需要编写单元测试集成在代码里,然后执行mvn test,最后使用sonar 扫描即可上传。这里的代码覆盖率指的是行覆盖与条件覆盖。
  7. 代码重复率:
    sonar的官方标准是不超过3%,但这个是个复杂的定义,因为sonar之类的工具,对于特殊的文件,并不能完全统计出真实的重复率。所以要根据实际情况判断。比如,将不必要的文件排除后,再统计重复率就会准一点
    大体上也会给个标准:一般5% 以内为优秀,20%以内为及格。所以一般以20%作为判断标准

注意:sonar的严重程度的关键词有以下几个:
阻断:很严重错误,必须修复的
严重:可能会影响程序,需要审查
主要,次要 ,info :需要关注,也可以忽略。

三、问题查找与处理

在这里插入图片描述

最经常使用的问题筛选条件是:问题的类型,严重程度,以及规则。
最经常使用的问题处理方式:修改bug或者标记为误判或者标记不会处理。下次就会屏蔽。但不建议使用标记的方式,比较费时间。
问题批量处理:点击查看改规则,然后点击规则的序号
在这里插入图片描述

可以看到规则可以有以下的操作,拓展描述,或者直接修改规则的等级。某些情况下可以删除。删除该规则后,该问题就可以进行批量处理。

在这里插入图片描述

四、指标

在这里插入图片描述

  1. 总的项目指标概览,如右边的泡泡,点击泡泡可以看到一些信息。

  2. 复杂度,主要是以下关键词增加复杂性:if, for, while, case, catch, throw, return (不是方法的最后一个语句), &&, ||, ?,复杂度越高,越难以理解。
    圈复杂度可以计算出达到全面覆盖需要的最少测试用例。认知复杂度对应这个应用是否很难被理解。
    在这里插入图片描述

  3. 代码的重复率。官方标准是小于3%。

  4. 点击可以看到灰色竖条的重复代码,点击可以看到跟哪一行数据重复。

五、代码

在这里插入图片描述

1.可以看到你扫描的代码目录有哪些,有多少的代码行数,问题以及重复代码有多少。覆盖率是针对单元测试的,没有就为0

六、活动

在这里插入图片描述

  1. 可以看到各个时间段的扫描记录
  2. 可以选择不同的类型
  3. 可以看到不同时间段扫描后的bug,覆盖率等趋势图,也可点击自定义,显示其他的指标趋势。

七、代码规则

在这里插入图片描述

  1. 可以展示各种语言的规则显示,只能挂起激活,要删选需要选择质量配置。
  2. 如果没有定制自己的规则,这里是显示默认规则,可以自己定制规则(基于官方的规则做筛选,如果新增自己的规则,则需要自己去创建一个插件规则,再重新打包成jar包,这个步骤就比较麻烦。)
  3. 点击进去可以详细看规则的内容以及例子。
  4. p3c可以参考我另外一篇文章:链接
    注意:如果是自己集成的规则,需要手动点击批量修改,修改成活动状态后才能用上,比如常用p3c规则。

八、质量配置

在这里插入图片描述

  1. 可以创建自己项目扫描的质量配置,包括规则定制(注意:如果你要自己筛选规则,父类不要选择继成sonar-way默认规则)

  2. 点击进去可以看到更多属性。点击进去后见下图

  3. 创建后可以修改属性

  4. 显示你使用的规则有多少,没有使用到的规则有多少。

  5. 点击更多激活规则,可以添加更多的规则。见下图

  6. 将这个质量配置赋予用户权限

  7. 设置某些项目使用这个质量配置

  8. 切换可以看到激活跟没激活的规则内容

  9. 点击活动就激活这条规则。

九、质量阈

在这里插入图片描述

  1. 默认是官方设定的条件准则,也可以自己设定指标准则,如下图

  2. 指标,显示的是各个指标数据在某个条件下就会判断为错误。默认的数据比较偏严格。

  3. 设定的项目。
    在这里插入图片描述

  4. 创建自己的质量阈

  5. 可以添加自己想要的添加,一般需要重复率,可靠性,可维护性,安全率。覆盖率单元测试有才需要。

  6. 添加适用的项目。

十、配置

在这里插入图片描述

  1. 配置可以配置数据库的清理时间,一天内多次项目扫描默认保留最新的分析,并完全删除其他分析
  2. 可以配置邮件的通知。比如扫描失败提醒,bug指派。这个设置后续在补充。
  3. 项目设置排除某些文件的扫描设定:下次的时候生效

十一、帮助

在这里插入图片描述

  1. 点击文档可以查看官方的文档,点击插件可以查看每个版本sonar支持的插件版本。
  2. 查看sonar提供的各个接口,可以通过该接口获取扫描结果。
  3. api接口可以参考我另外一篇文章:链接

最后

以上就是包容雨为你收集整理的sonar web功能简介的全部内容,希望文章能够帮你解决sonar web功能简介所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部