那些总是写“烂代码”的同学,强烈推荐你使用这款IDEA插件!

sonar检测规则整理 sonar检测规则整理,对比看你的代码,有多少违背规则 立即下载

作者:WhyWin

cnblogs.com/0201zcr/p/6722932.html

1、目标

idea集成sonar的代码检查,实现可以在提交代码前就检查你的代码,而不是将代码提交之后,之后再去检查。

Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题

  1. 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写

  2. 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷

  3. 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试

  4. 重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方

  5. 注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷

  6. 缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率

  7. 糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。

2、前提

已经搭建了sonarqube

jdk8环境(我的是jdk7,运行也没问题)

3、安装插件

设置——>Plugins中查找sonarLint插件,并安装。安装完成后,要重启IDEA。

4、配置项目

1)配置服务器

我这里是编辑形式打开的弹窗,第一次添加时,是需要自己添加自己使用的sonar平台地址,一般是公司内部搭建的地址

2)选择项目

上面配置好服务器的信息之后,就会获取到相应项目的信息,如下:

配置完成后,在当前项目环境下,idea的左下角就可以看到sonar扩展了:

SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
多账户的统一登录方案

win7专用锐捷网络认证客户端 win7专用的锐捷网络认证客户端,win7的朋友下吧! 立即下载

相关推荐

AT Command User Guide

展讯通信公司的 AT 指令文档说明,可以与 华为等其他公司的AT指令比较,可用于 Android RIL 开发与调试;

SonarLint: Provide the parametrized type for this generic.

Raw use of parameterized class 'PageInfo' Unchecked call to 'PageInfo(List<T>)' as a member of raw type 'com.github.pagehelper.PageInfo' SonarLint: Provide the parametrized type for this generic. 原始使用参数化类'PageInfo' 未经审核的原始类型'com.github.pagehelper..

慕白Lee的博客 2万+

elasticsearch.rar

Google浏览器扩展程序插件(elasticsearch等等)

SonarBug修复

解决方法:不要直接抛Error,RuntimeException/Throwable/Exception这样的通用的异常,使用更具体的异常代替。解决方法:使用BigDecimal.valueOf()代替。解决方法: 重写equals()必须重写hashCode()。IDEA可以通过Alt+Insert自动生成。解决方法:使用(long)类型转换,或者在数字后面加上L转换类型。解决方法: logger.error(“错误提示字符串:”,e);解决方法: 浮点数不应该用==去比较,可能会精度丢失导致不准确。

Cyms,BgXmSfXtsj !!!! Battle Each Moment !!!! 3204

IDEA-代码规范检查插件

IDEA代码规范检查插件,下载之后选择从磁盘安装,重启IDEA。

数字孪生变电站如何制作?虚拟现实项目强荐广州华锐互动

变电站数字孪生系统可以为提高变电站设备与环境的实时感知能力、在线诊断设备健康状态、促进设备隐藏故障定位和维修效率的提高、实现设备全生命周期提供有力支撑。通过对设备状态的准确评估,可以延长设备的生命周期,实现资产增值。1、3D可视化:建立可视化平台,集中展示所有3D模型信息、数据信息、环境信息和人员信息,包括设备数字模型、建筑外形及内部、周边地形、人员动态、天气、时间等。4、智能监控:采用先进的AI摄像头,通过设备的图像识别,自动智能分析图像,准确分析设备状态、运行动态、外围控制情况。...

gzvrnew的博客 777

SonarQube扫描异味

1、Provide the parametrized type for this generic.

cainiao_xue_android的博客 1285

【Apollo规划模块探秘】—— 场景(Scenario)驱动的决策引擎

本文深入解析了Apollo自动驾驶平台规划模块的核心机制——场景(Scenario)驱动的决策引擎。文章通过类比日常驾驶,阐述了规划模块如何像经验丰富的司机一样,根据不同的路况(如车道跟随、无保护左转)切换不同的“驾驶模式”。重点剖析了场景管理器(ScenarioManager)如何基于感知信息进行场景判断与切换,以及“场景-阶段-任务”双层状态机如何精密协作,实现灵活、高效且安全的轨迹规划。

rnn9storyteller的博客 279

sonar常见bug类型及解决方法

1.Use isEmpty() to check whether the collection is empty or not. 解释: 建议使用list.isEmpty()方法 替代list.size()==0 或者 !list.isEmpty() 替代 list.size() >0 修改前: if(attachedColumns.size() > 0) 修改后: if(attachedColumns.isEmpty()) 2.Remove this expression which

IT夜幕的博客 2万+

GNSS-RTK/INS紧组合里,那个‘杆臂改正’到底怎么算?一个公式讲清INS与天线位置的关系

本文深入解析GNSS-RTK/INS紧组合导航系统中的杆臂改正(Lever Arm Correction)原理与实现方法。详细介绍了杆臂效应的物理本质、数学建模及误差扰动分析,揭示了IMU与GNSS天线位置关系的核心公式,并提供了工程实现中的常见误区与验证方法。通过Python代码示例和紧组合量测模型处理流程,帮助开发者准确理解并应用这一关键技术。

weixin_33137081的博客 357

ANSYS-CFX,计算时报错,内存参数报错,return code 1【终极解决方案】

ANSYS-CFX,计算时报错,内存参数报错,return code 1【终极解决方案】 在CFX计算时经常会遇到内存不足的错误报告,有的算例网格并不多也会出现这样的问题,本文就最近遇到的内存错误问题以及解决方法进行简单的总结,以供大家参考。 1 CFX-Solver Manager内存种类 打开Define Run,面板上的Partitioner、Solver、Interpolator选项中分别都有关于内存的设置选项。当出现内存不足错误时,应该设置哪一个选项的内存参数,要看是哪一部分的内存不足。 2 C

深海民工CFDer 3万+

记一次sonarlint项目优化

最近项目不是很忙,起了将旧项目用sonarlint扫一遍的念头,此次记录仅为参考,随缘。2020-09-17 扫描出的问题及解决方式如下: 1.Add a private constructor to hide the implicit public one. 谷歌翻译为:添加一个私有构造函数来隐藏隐式公共构造函数。 构建一个私有构造器即可 2.Provide the parametrized type for this generic. 谷歌翻译为:提供此泛型的参数化类型。 3.Use st

happy2048的博客 122万+

逆向解析抖音核心校验参数:bd-ticket-guard-client-data的Python生成逻辑

本文深入解析了抖音核心校验参数bd-ticket-guard-client-data的生成逻辑,详细介绍了其动态证书生成、非对称加密机制及Python实现方法。通过逆向分析,揭示了抖音安全体系的双层验证机制,包括RSA密钥对生成、证书签名及时间戳校验等关键技术要点,为开发者提供了一套完整的参数生成解决方案。

weixin_26642481的博客 417

那些总是写“烂代码”的同学,强烈推荐你使用这款 IDEA 插件!

点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Sometimes I just wish that I could f...

程序员小乐 485

高分影像批处理第三回——RPC文件与几何校正

前言 前面两章部分完成了图像的基本组织和大气校正,可是对于遥感影像地理相关数据,精确的地理坐标也是非常关键的。L1级数据,可惜,并没有帮我们处理地理坐标系统。无论是打开ENVI还是用gdal工具查看图像元数据,其坐标系统都是错误的或者说是未读入的。因此本章节来解决这个问题。

weixin_43762038的博客 1万+

STM32智能小车控制舵机转向

文章目录前言一、舵机简单介绍及接线方式二、cubeMX配置三、代码解析总结 前言 本文将带大家学习如何驱动舵机转向 一、舵机简单介绍及接线方式 信号线(黄线)红线(电源线)棕色(地线) 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms。以180度角度伺服为例,那么对应的控制关系是这样的: 0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2

m0_49476241的博客 8614

那些总是写“烂代码”的同学,强烈推荐你用这款IDEA插件!

往期热门文章: 1、《往期精选优秀博文都在这里了!》 2、写代码有这16个好习惯,可以减少80%非业务的bug 3、顺丰快递:请签收MySQL灵魂十连 4、一个基于SpringBoot...

Java后端技术 516

【PCIe 总线及设备入门学习专栏 6.2 -- PCIe VDM (Vendor Defined Messages)】

在PCIe协议中,Vendor Defined Messages (VDMs) 是一种允许厂商定义和传输特定功能的消息类型。这种机制扩展了标准 PCIe 消息的功能,可以用于实现供应商自定义的功能,例如固件更新、设备配置和诊断信息传输。PCIe VDM 是通过实现的,它遵循 PCIe 协议栈的结构,包括事务层、数据链路层和物理层。

CodingCos的博客 1898
上一篇: 精选SpringBoot+Vue开发的开源系统(前端+后端+小程序)
下一篇: 分布式Session解决方案
Java思维导图
博客等级 码龄10年 306粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值