首页 > 其他分享 >SonarQube使用1

SonarQube使用1

时间:2024-07-23 10:51:40浏览次数:7  
标签:集成 分析 SonarQube 代码 干净 版本 使用

文档
https://docs.sonarsource.com/sonarqube/latest/
SonarQube 是一款静态代码分析工具。 包含各种语言的分析检测。
本地安装,也可以安装到自己的服务器。
官方介绍:
SonarQube 是一种自我管理的自动代码审查工具,可系统地帮助您交付干净的代码。作为我们声纳解决方案的核心元素,SonarQube 集成到您现有的工作流程中,并检测代码中的问题,以帮助您对项目进行持续的代码检查。该产品分析了 30+ 种不同的编程语言,并集成到 DevOps 平台的持续集成 (CI) 管道中,以确保您的代码符合高质量标准。

编写干净的代码
干净的代码是所有代码的标准,这些代码可以产生安全、可靠和可维护的软件,因此,编写干净的代码对于维护健康的代码库至关重要。这适用于所有代码:源代码、测试代码、基础结构即代码、粘附代码、脚本等。有关详细信息,请参阅 Clean Code。

Sonar 的 Clean as You Code 方法消除了在开发过程后期审查代码时产生的许多陷阱。“即码即净”方法使用质量门,在新代码(已添加或更改的代码)中有需要修复或审查的内容时提醒/通知你,使你能够保持高标准并专注于代码质量。

SonarQube是开源的,但它还包括了许多收费的插件和额外的支持服务,这些只能在商业许可下使用。SonarQube是按照扫描的行数进行计费的,以年为单位进行订阅。免费版本支持的代码行数范围是10万行到1亿行123。如果想申请免费试用收费版本,可以先在官网下载对应的版本,然后填写相关申请信息。
1、官方下载安装包
https://www.sonarsource.com/plans-and-pricing/
按需求选择 免费或者收费
2、服务器环境 至少要java11以上版本
安装成功后,访问http://localhost:9000
默认登录账号密码 admin admin
3、创建项目




4、访问项目的代码分析,这是我后面分析完成后的报告,大概十来分钟

SonarQube 的关键指标
SonarQube 使用三个主要指标来评估代码质量:

Security(安全性):

代表代码中的安全漏洞
包括潜在的安全威胁,如 SQL 注入、跨站脚本攻击(XSS)等
是的,Security 主要关注的是安全漏洞
Reliability(可靠性):

代表代码中可能导致错误或意外行为的 bug
包括逻辑错误、空指针引用、资源泄漏等
这些问题可能导致程序崩溃或产生错误结果
Maintainability(可维护性):

代表代码的可读性、复杂性和可修改性
包括代码重复、过于复杂的函数、不良的编码实践等
这些问题可能使代码难以理解、修改和维护

不得不说thinkphp3的 漏洞还是很多的。 毕竟是前期的版本, 哪个程序员不会写bug呢

标签:集成,分析,SonarQube,代码,干净,版本,使用
From: https://www.cnblogs.com/zxs-onestar/p/18317800

相关文章

  • 使用递归函数计算阶乘时,我在 python 中遇到类型错误
    defcalc_fact(n):如果(n==1或n==0):返回1别的:n*calc_fact(n-1)print(calc_fact(5))试图创建函数来计算阶乘,不支持类型错误操作数*:对于int或Nonetype我不知道为什么谢谢Python代码中出现“类型错误:不支持的操作数类型为*:'int'和'NoneType'”表明你......
  • Gitee基础使用
    Gitee是一个国内广泛使用的Git仓库托管平台,提供了与GitHub类似的功能。以下是一些基本的Gitee操作方法:1.注册和创建仓库注册账号访问Gitee官网,点击“注册”按钮,填写相关信息进行注册。创建仓库登录Gitee后,点击右上角的“+”号,选择“新建仓库”。填写仓库......
  • R语言数据可视化:使用ggplot2的geom_mark_ellipse函数圈定特定的数据簇或组
    在数据分析和可视化领域,R语言是一个非常受欢迎的工具,而ggplot2包则是R语言中最常用的数据可视化包之一,ggplot2包提供了丰富的函数和选项,用于创建高质量的统计图形,其中geom_mark_ellipse函数是一个强大的工具,可以用于圈定特定的数据簇或组,并突出显示它们的位置和关系。为了演示......
  • 需要帮助使用 Selenium Python 单击 Microsoft Teams 按钮
    我将Python与Selenium结合使用,并自动登录MicrosoftTeams。进入后,弹出窗口显示我需要单击“立即切换”以切换到V2版本。我似乎无法使用SeleniumPython成功单击此按钮。谁能帮我自动点击这个按钮?这是我不成功的尝试:self.driver.find_element(By.CLASS_NAME,......
  • 使用简化VGGnet对MNIST数据集进行训练
     目录1.VGGNet特点2.注意点3.导入数据集4.定义简化版的VGG网络结构5.定义训练和验证函数6.调用函数7.多批次训练8.结果 VGGNet是由牛津大学的视觉几何组(VisualGeometryGroup)在2014年提出的一个深度卷积神经网络。它在ImageNet竞赛中取得了很好的成绩。VG......
  • 搭载LSI SAS3908/3916 MR芯片的LSI-9560 服务器raid卡(史上最详细的保姆级使用教程)
    一、9560RAID卡型号配置介绍目前常用的基于SAS3908和SAS3916芯片的RAID卡分别为BCM9560-8i、BCM9560-16i。SAS3908/3916支持Legacy和UEFI两种启动方式,但在Legacy模式下不支持进行RAID配置,仅在UEFI模式下可以进行,因此,如果需要离线配置RAID组列,需切换到UEFI模式进行,本文主......
  • 使用微软自己的方法,将Office文档转化为pdf
    转的,整理资料发现的,挺好。原创作者找不到了。//////Word转换成pdf//////源文件路径///目标文件路径///true=转换成功publicboolDOCConvertToPDF(stringsourcePath,stringtargetPath){boolresult=false;Word.WdExportFormatexportFormat=Word.WdExport......
  • Android开发 - Bundle传值的理解与使用
    什么是BundleBundle经常出现在以下场合:Activity状态数据的保存与恢复涉及到的两个回调:voidonSaveInstanceState(BundleoutState)voidonCreate(BundlesavedInstanceState)Fragment的setArguments方法:voidsetArguments(Bundleargs)消息机制中的Message的setData......
  • pnpm的安装与使用
    官网:安装|pnpm中文文档|pnpm中文网一、pnpm优势:1.节省磁盘空间假设你有一个依赖包example-package,包含100个文件。如果你使用npm安装在100个项目中,你的硬盘上会有100份example-package,每份都占用同样的空间。然而,如果是使用pnpm,(1)example-package的所有文......
  • Python面试题:使用NumPy进行高效数组运算
    NumPy是Python中进行高效数组运算的基础库。以下是一些示例,展示了如何使用NumPy进行高效的数组运算,包括创建数组、数组操作、数学运算以及一些高级操作。安装NumPy如果你还没有安装NumPy,可以通过以下命令进行安装:pipinstallnumpy示例代码1.创建数组import......