Idea 安装 Sonar 插件提升代码质量

news2024/9/22 23:20:50

目录

0. 环境说明

1. Sonar 简介

2. IDEA 配置 Sonar


0. 环境说明

  • Java 1.8
  • IDEA 2022.3.1
  • SonarLint 7.4.0

1. Sonar 简介

        在多人协通的软件开发过程中,代码风格和代码质量对于软件的整体交付是十分关键的。这时我们可以利用 Sonar 插件,对代码进行扫描,在一定范围内规范代码。SonarQube(曾用名 Sonar )是一个开源的代码质量管理系统,支持 Java、C/C++、Python 等超过 25 种编程语言。使用 Sonar 插件可以检测代码中潜在的问题,提升整体的代码质量。

2. IDEA 配置 Sonar

        打开 IDEA,选择 settings --> Plugins

        在搜索栏输入 sonar 进行搜索,找到 SonarLint ,点击 Install 。

         接受协议,开始安装。在安装过程中,如果出现因为网络问题,导致的安装失败,点击重试即可。安装完成后,重启 IDEA 开始使用。

         重启之后,可以看到 IDEA 底部新增了 SonarLint 按钮。

        点击 SonarLint 按钮,会看到 Sonar 扫描到的代码潜在的问题。根据问题的严重性,Sonar 会给出不同的提示。提示中包含了问题代码的原因、错误举例和正确举例,可以例子对代码进行修改。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/341466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring MVC注解Controller源码流程解析--HandlerAdapter执行流程--上

Spring MVC注解Controller源码流程解析--HandlerAdapter执行流程--上引言RequestMappingHandlerAdapter方法参数解析器方法参数名解析器类型转换体系简单的使用演示数据绑定器工厂定制化修改DataBinder获取泛型参数ControllerAdvice与InitBinder注解控制器方法执行流程Controll…

C语言(可变参数:stdarg.h)

目录 一.使用可变参数 1.提供一个使用省略号的函数原型 2.在函数定义中创建一个va_list类型的变量 3.用宏把该变量初始化为一个参数列表 4.用宏访问参数列表 5.使用宏完成清理工作 二.va_copy 三.实例 一.使用可变参数 该头文件提供类似接受可变数量参数的宏&#xf…

【招聘】永善县正向社会工作服务中心招聘2名工作人员

永善县正向社会工作服务中心面向社会公开招聘2名工作人员 永善县正向社会工作服务中心是2019年9月在永善县民政局注册登记成立的民办非企业单位。业务范围主要为:面向社会提供各类专业社工服务,开展活动策划、个案援助等社会服务项目;承接个人…

基于WEB的小型公司人事管理系统设计

技术:Java、JSP等摘要:随着当代各类企业公司员工数量越来越多、分工越来越细化、各行各业之间的联系越发密切,对人事管理的要求也不断提高。实现企业人事管理计算机化,毫无疑问会让企业的人事管理变得更加高效化和智能化。企业要生…

c/c++开发,无可避免的函数参数实践

一、函数参数表 函数由函数名以及一组操作数类型唯一地表示。函数的操作数,也即形参,在一对圆括号中声明,形参与形参之间以逗号分隔。每一个函数都有一个相关联的返回类型。 int setval(int val) {//函数体 }; 这里,定义了一个名…

Vulkan教程(14): Graphics pipeline之Fixed functions(固定管线功能)

Vulkan官方英文原文:https://vulkan-tutorial.com/Drawing_a_triangle/Graphics_pipeline_basics/Fixed_functions对应的Vulkan技术规格说明书版本: Vulkan 1.3.2The older graphics APIs provided default state for most of the stages of the graphic…

个人如何获得免费的VMware Fusion Player?在macOS上虚拟化系统

不管是开发还是测试,有时候都需要虚拟机。比如虚拟化一台Linux,部署Web服务进行服务器仿真操作。亦或者,macOS上虚拟化Windows,进行Windows环境模拟。 VMware这家公司,大家应该都比较熟悉。旗下的VMware Workstation在…

LabVIEW NI网络设备在MAX中不显示或未识别

LabVIEW NI网络设备在MAX中不显示或未识别有一个NI设备通过网络连接到主机。发生以下情况之一:尝试在Measurement&AutomationExplorer(MAX)中配置设备。设备未显示在“远程系统”下。NIMAX中未检测到CompactRIO(cRIO&a…

2D图像处理:2D Shape_Base_Matching_缩放_旋转_ICP_显示ROI

文章目录 调试结果参考调试说明问题0:并行运行问题问题1:模板+Mask大小问题问题2:组合缩放和旋转问题3:可以直接将计算边缘的代码删除问题4:如何在原始图像上显示匹配到的ROI问题5:计算的原始旋转角度不需要判断,直接可以在ICP中使用问题6:绘制坐标轴问题7:绘制ROI调试…

图像优化篇

目录(1)矢量图(2)位图 2.1 分辨率2,图像格式格式选择建议:(1)矢量图 被定义为一个对象,包括颜色,大小,形状,以及屏幕位置等属性&…

Netty实现Http服务器案例

功能:Netty服务器在6668端口监听,浏览器发出请求"http://localhost:6668"服务器可以恢复消息给浏览器:“hello,我是服务器”,并对特定请求资源进行过滤目的:Netty可以做服务器端开发,…

家政服务小程序实战教程07-轮播图组件

小程序中首页一般显示轮播图的功能,点击轮播图会跳转到具体的一篇文章或者是产品,本篇我们就介绍一下轮播图功能的开发 01 设计数据源 我们轮播图组件需要两个字段,一个是展示的图片,一个是跳转页面传入的参数。打开数据源&…

JAVA集合专题5 ——ArrayDeque + BlockingQueue

目录ArrayDeque的特点BlockingQueue什么是BlockingQueue?什么叫阻塞队列?阻塞队列的应用场景是什么?BlockingQueue的阻塞方法是什么?BlockingQueue的四类方法codecode2ArrayDeque的特点 ArrayDeque是Deque接口子实现ArrayDeque数据结构可以表示为: 队列、双端队列、栈Arra…

【MFC】工具条(16)

创建工具条的基本步骤是: 1.创建工具条资源。 2.构建一个CToolBar对象。 3.调用CToolBar::Create函数创建工具条窗口。 4.调用CToolBar::LoadToolBar载入工具条资源。 使用工具条 打开资源视图,可视化创建或者修改工具条: 其中ID项一般与菜…

【计组】硬盘--《深入浅出计算机组成原理》(十二)

目录 一、机械硬盘 二、SSD硬盘 (一)SSD硬盘的读写原理 1、SLC、MLC、TLC 和 QLC 2、P/E 擦写问题 (二)SSD 读写的生命周期 (三)磨损均衡、TRIM 和写入放大效应 1、FTL 和磨损均衡 2、TRIM 指令的…

vueday01-脚手架安装详细

一、vue脚手架安装命令npm i -g vue/cli 或 yarn global add vue/cli安装上面的工具,安装后运行 vue --version ,如果看到版本号,说明安装成功或 vue -V工具安装好之后,就可以安装带有webpack配置的vue项目了。创建项目之前&#…

用队列实现栈VS用栈实现队列

之前我们就讲过队列,栈的基础知识,笔者之前有过详细的介绍,感兴趣的可以根据笔者的个人主页进行查找:https://blog.csdn.net/weixin_64308540/?typelately225. 用队列实现栈请你仅使用两个队列实现一个后入先出(LIFO&…

加入bing体验chatGPT大军中来吧,它来了!

1 第一步:加入候选名单 1、首先需要加入候选名单 https://www.microsoft.com/zh-cn/edge?formMA13FJ 2、下载最新的Edge浏览器、androd、iOS都有试用版本(可以看到iOS加护当前已满) 这里我下载的是dev版本,Canary版本由于是…

50. Pow(x, n)

50. Pow(x, n) 一、题目描述: 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000 示例 2: 输入:x 2…

决策树分类算法(一)(信息熵,信息增益,基尼指数计算)

目录一、信息量二、信息熵三、信息增益四、基尼指数五、代码:信息熵,信息增益,基尼指数计算(splitInfo.py)例子: 一、信息量 : I(x)log⁡21p−log⁡2pI(x)\log_{2}{\frac{1}{p}}-\log_{2}{p}I(x)log2​p1…