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

相关文章

IDEA接入Deepseek的图文教程

《IDEA接入Deepseek的图文教程》在本篇文章中,我们将详细介绍如何在JetBrainsIDEA中使用Continue插件接入DeepSeek,让你的AI编程助手更智能,提高开发效率,感兴趣的小... 目录一、前置准备二、安装 Continue 插件三、配置 Continue 连接 DeepSeek四

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N