IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 在IDEA上配置SonarLint以及代码质量分析报告模板 -> 正文阅读

[开发工具]在IDEA上配置SonarLint以及代码质量分析报告模板

在线安装SonarLint插件

  1. File->Settings…进入设置界面
    在这里插入图片描述

  2. 点击左侧Plugins,然后在搜索框输入SonarLint,点击安装,之后重启IDEA
    在这里插入图片描述

离线安装SonarLint插件

  1. 在如下链接下载对应最新版本sonarlint
    https://plugins.jetbrains.com/plugin/7973-sonarlint/versions

  2. File->Settings…->Plugins->点击设置按钮->在下拉框中点击Install Plugin from Disk…
    在这里插入图片描述

  3. 找到之前压缩包的安装目录,点击安装包安装,重启IDEA即可。

代码质量分析报告模板
风吟博客开源代码的质量分析报告
该博客是基于SSM实现的个人博客系统,适合初学SSM和个人博客制作的同学学习。
最新版本支持用户注册,包含用户和管理员两个角色 。该博客规模适中,通过初步阅读分析其代码质量较高,故对其进行进一步的质量分析和审查。
一、代码质量分析方法
代码质量分析主要由人工分析和利用工具分析两种方式,二者各有优缺点,在实际过程中需要结合使用以保证正确性、发挥效能。
1、人工
通过人工发现代码中存在的缺陷和质量问题是分析软件质量最直接的手段。软件开发相关人员在软件实现、测试、维护过程中,主动发现编写代码中存在的问题并给予修改,但是分析代码的效率低,寻找缺陷不够全面,比如其中软件的深层次问题可能难以发现。
2、自动
利用SonarQube,FindBugs等工具进行代码质量分析,从程序的语法、结构、接口等方面进行代码审查,并能够对代码风格进行分析。其优点是代码分析效率高,且能够发现软件开发人员忽略的错误,在实际应用中要结合人工审查才能完全明确代码缺陷。
本报告主要使用SonarLint工具进行针对博客进行质量分析,辅以少量的人工分析。
二、Sonar及SonarQube简介
SonarQube软件是一种静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScript等等二十几种编程语言的代码质量管理与检测。
Sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式,并通过各种不同的分析机制对项目源代码进行分析和扫描,并把分析扫描后的结果上传到Sonar的数据库,通过Sonar web界面对分析结果进行管理。
三、使用SonarLint进行分析
右键项目->点击SonarLint->点击Analyze with SonarLint
在这里插入图片描述
在风吟博客源代码中,共审查出86个文件中的436个问题,经过人工审查,其中大量的问题在于规范和代码的简洁性要求,重复的字符串文字使重构过程容易出错。总体来说,风吟博客的代码质量较为不错。
代码中的缺陷分为如下几个等级:
(1)Blocker:极有可能影响应用程序表现的错误;
(2)Critical:可能影响应用程序表现的错误和表示安全缺陷的问题;
(3)Major:严重影响开发者效率的质量缺陷;
(4)Minor:轻微影响开发者效率的质量缺陷;
(5)Info:不是错误或者质量缺陷。
现对代码存在的质量问题进行汇总统计,对严重程度为Blocker、Critical和Major的问题进行逐一的分析:
严重程度:Blocker
1.Tests should include assertions测试应该包括断言
没有断言的测试用例只能确保不抛出异常。除了基本的可运行性之外,它对被测代码的行为没有任何保证。
在这里插入图片描述

2.TestCases should contain tests测试用例应该包含测试
没有任何测试方法的 JUnit 测试用例是没有意义的。同样,测试目录中不应有名为 *Test、*Tests 或 *TestCase 的文件,但文件中不应有测试。做这些事情中的任何一件都可能导致有人认为未覆盖的类已经过测试。
在这里插入图片描述

严重程度:Critical
1.String literals should not be duplicated字符串文字不应重复
重复的字符串文字使重构过程容易出错,因为您必须确保更新所有出现的内容。另一方面,常量可以从很多地方引用,但只需要在一个地方更新。
在这里插入图片描述

2.Methods should not be empty 方法不应为空
一个方法没有方法体有几个原因:
这是一个无意的遗漏,应该修复以防止生产中出现意外行为。
它尚未或永远不会得到支持。在这种情况下,应该抛出 UnsupportedOperationException。
该方法是一个有意的空白覆盖。在这种情况下,嵌套注释应该解释空白覆盖的原因
在这里插入图片描述

3.“static” base class members should not be accessed via derived types不应通过派生类型访问“静态”基类成员
为了代码的清晰性,永远不应该使用派生类型的名称访问基类的静态成员。这样做会令人困惑,并且可能会产生存在两个不同静态成员的错觉
在这里插入图片描述

严重程度:Major
1.Raw types should not be used不应使用原始类型
不应在变量声明或返回值中使用原始(没有类型参数)泛型类型。这样做会绕过泛型类型检查,并将不安全代码的捕获推迟到运行时。
在这里插入图片描述

2.Restricted Identifiers should not be used as Identifiers限制标识符不应用作标识符
即使技术上可行,也不应将受限标识符用作标识符。这只是出于兼容性原因才可能,在 Java 代码中使用它是令人困惑的,应该避免。
在这里插入图片描述

3.Deprecated elements should have both the annotation and the Javadoc tag不推荐使用的元素应该同时具有注释和 Javadoc 标记
弃用应同时使用@Deprecated 注释和@deprecated Javadoc 标记进行标记。注释使 IDE 等工具能够在引用已弃用的元素时发出警告,并且该标记可用于解释何时被弃用、为什么以及应如何重构引用。
在这里插入图片描述

4.Sections of code should not be commented out 代码不应被注释掉
程序员不应注释掉代码,因为它会使程序膨胀并降低可读性。
未使用的代码应该被删除,如果需要,可以从源代码控制历史中检索。
在这里插入图片描述

  1. Empty arrays and collections should be returned instead of null应返回空数组和集合而不是 null
    返回 null 而不是实际的数组、集合或映射会强制方法的调用者显式测试 null,从而使它们更复杂且可读性更低。
    此外,在许多情况下,null 被用作空的同义词。
    在这里插入图片描述
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:38:59  更:2021-12-04 13:40:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:22:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码