SonarLint,idea安装以及扫描bug修复记录

2023-11-21 21:10

本文主要是介绍SonarLint,idea安装以及扫描bug修复记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天要进行代码检查,所以我就装了一个插件SonarLint,先自己看看有啥问题,进行优化一下,并对遇到的问题做一个汇总

SonarLint安装

我用的是SonarLint,安装很好安装,我用的idea,找到setting里边的

我这是安装完的,你选择下载就行,下载完了需要重启一下idea,用的时候也非常方便,在你想检查的类或者服务上右键选择如图所示就可以了

问题

1、Replace this if-then-else statement by a single return statement .

代码

                if(!matcher.matches()){return false;}else{return true;}

看着好像没啥问题

提示

分析

说返回封装在if-then-else语句中的布尔文字语句应该简化。类似地,封装在if-then-else中的方法调用应该简化为单个调用,而if-then-else只与布尔文本不同。

下边给了兼容解决方案

解决

对于本身就可直接return 、不要定义变量接收再返回、不要判断再返回,本身结果就是true或false。

return !matcher.matches();

2、This block of commented-out lines of code should be removed.

代码

    /*public static void main(String[] args) {String time = System.currentTimeMillis()+"";String sufTime = time.substring(time.length()-6,time.length());System.out.println(time);System.out.println(sufTime);String md5Str = md5("TMS_175"+sufTime);System.out.println(md5Str);System.out.println(md5Str.substring(1,10));}*/

这里注释掉的一段代码

提示

分析

程序员不应该注释掉代码,因为它会膨胀程序并降低可读性。应该删除未使用的代码,如果需要,可以从源代码管理历史记录中检索。

解決

这里我们可以根据自己的需要进行留还是删除,关于注释的信息我们也可以自己进行设置检查还是不检查

3、Add a private constructor to hide the implicit public one

代码

提示

分析

实用程序类是静态成员的集合,不需要实例化。即使是可以扩展的抽象实用程序类也不应该有公共构造函数。

Java为每个类添加了一个隐式公共构造函数,而这些类至少没有显式定义一个。因此,至少应该定义一个非公共构造函数。

解决

定义一个私有的构造函数

4、Lower the visibility of this setter or remove it altogether .

代码

 枚举类里边,我加了get,set方法

提示

分析 

枚举通常被认为是常量,但带有公共字段或公共setter的枚举是非常量的。理想情况下,枚举中的字段是私有的,并在构造函数中设置,但如果不可能,则应尽可能降低它们的可见性。

解决

将没用到的删除

5、Define a constant instead of duplicating this literal " I invalid . " 3 time

代码

 提示

分析 

重复的字符串文字使重构过程容易出错,因为必须确保更新所有出现的内容。
另一方面,常数可以从许多地方引用,但只需要在一个地方更新。

解决

当一个类中存在重复的字符串,超过3次时、需要使用常量、或者枚举。

private final static String INVALID = "] invalid.";

6、Replace charset name argument with Standardcharsets . UTF 8 

代码

 提示

分析 

JDK7引入了类java.nio.charset.StandardCharsets。它为保证在Java平台的每个实现上可用的所有字符集提供常量。

解决

将"UTF-8"替换为StandardCharsets.UTF_8

 7、Reorder the modifiers to comply with the Java Language Specification

代码

看代码,刚才定义的常量

 提示

Java语言规范建议按以下顺序列出修饰符:

Annotations——public——protected——private——abstract——static——final——transient——volatile——synchronized——native——strictfp
不遵循此约定没有技术影响,但会降低代码的可读性,因为大多数开发人员都习惯于标准顺序。

解决:

按照规范建议、对Java关键字重新排序。

//Annotations——public——protected——private——abstract——static——final——transient——volatile——synchronized——native——strictfpprivate static final String INVALID = "] invalid.";

这篇关于SonarLint,idea安装以及扫描bug修复记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/405118

相关文章

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

一文详解如何查看本地MySQL的安装路径

《一文详解如何查看本地MySQL的安装路径》本地安装MySQL对于初学者或者开发人员来说是一项基础技能,但在安装过程中可能会遇到各种问题,:本文主要介绍如何查看本地MySQL安装路径的相关资料,需... 目录1. 如何查看本地mysql的安装路径1.1. 方法1:通过查询本地服务1.2. 方法2:通过MyS

电脑软件不能安装到C盘? 真相颠覆你的认知!

《电脑软件不能安装到C盘?真相颠覆你的认知!》很多人习惯把软件装到D盘、E盘,刻意绕开C盘,这种习惯从哪来?让我们用数据和案例,拆解背后的3大原因... 我身边不少朋友,在使用电脑安装软件的时候,总是习惯性的把软件安装到D盘或者E盘等位置,刻意避开C盘。如果你也有这样的习惯,或者不明白为什么要这么做,那么我

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Idea插件MybatisX失效的问题解决

《Idea插件MybatisX失效的问题解决》:本文主要介绍Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、重启idea或者卸载重装MyBATis插件(无需多言)二、检查.XML文件与.Java(该文件后缀Idea可能会隐藏

IDEA之MyBatisX使用的图文步骤

《IDEA之MyBatisX使用的图文步骤》本文主要介绍了IDEA之MyBatisX使用,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录一、idea插件安装二、IDEA配置数据库连接(以mysql为例)三、生产基础代码一、idea插