百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

原来代码的质量也可以被检测:初探 SonarQube

liuian 2025-03-13 17:17 34 浏览

作者:前端小智

前言

最近在自学 DevOps 的过程中,发现除了要了解基本的 CI/CD 流程外,更重要的是了解可以利用哪些工具来辅助整个 CI 的流程,今天来介绍一个好用的代码检测平台:SonarQube。

虽然在现今的开发很多时候都会藉由 code review 搭配各式的 linter 进行开发,但百密总有一疏,这时候就可以透过 SonarQube 帮助开发者检查一些潜在的 bug,这些 bug 有可能在开发时 linter 并没有报错,而且在 code review 时可能也不小心漏看了,假如可以在 CI 的流程中加上 SonarQube 来扫描整个 codebase,这时候就可以让整个项目的代码有更高的品质。

什么是 SonarQube

SonarQube 是一套基于 Java 开发的代码检测以及质量管理平台,由于这套工具是用 Java 开发的原因,所以大家要先记得去安装 **Java Development Kit(JDK)**,这样后续才能顺利的启动 SonarQube。

SonarQube 也提供了不少的服务像是:

  • 网页化操作
  • 支持非常多种程序语言的分析检测
  • 提供代码重复性、潜在 bug、测试覆盖率等等相关报告
  • 提供自动化分析并且结合主流的 CI 工具
  • 提供代码改善建议
  • 整合 JIRA、Mantis、LDAP、Fortify 等外部工具
  • 提供历史纪录以利于后续追踪

由于 SonarQube 提供太多种服务了,这里只列出几点个人觉得最值得提出来与大家分享的内容,有兴趣的读者可以再自行去官网上面进行相关的资料阅读。

启动 SonarQube

由于我是使用 mac 系统,因此这边以 mac 的操作方式进行介绍,首先可以在终端机中进入 /bin/macosx-unversal-64 的文件夹,并下 ./sonar.sh start 这个指令启动 SonarQube 的服务。

启动服务后可以在浏览器打上 localhost:9000 即可开启 SonarQube 的网页,预设的帐号及密码都是 admin ,输入后即可在 local 端开始使用 SonarQube 提供的检测服务喽。

SonarQube 操作说明

登入后就可以开始进行 Project 创建了,这边的 Project 主要是方便开发者可以进行项目品质的控管,创立好 Project 才可以开始针对想要检测的 repository 进行检测。

我们也可以看到 SonarQube 整合了非常多用来创建项目的主流工具例如 GitHub、Jira 等等,假如读者本身是有在使用这些工具进行项目的管理也可以直接整合现有的架构,这边为了方便介绍所以选择手动创建 Project。

建立好 Project 后可以看到 SonarQube 也支持许多主流平台的 CI 机制,这里也是为了方便介绍所以选择手动测试 local repository。

想要进行分析检测之前还需要产生一组 private token,利用这组 token 我们在之后进行检测时可以确保检测的结果会摆在这个 project 内。

之后就可以选择要检测的代码是属于哪种语言以及目前电脑的 OS,都选择完后可以去官网上下载最重要的分析工具 SonarScanner,这套 scanner 就是负责检测代码的工具。

下载完后就可以複制下方的指令进行代码的检测啦!

SonarScanner 检测结果

在上面的步骤检测完后,我们回到 SonarQube 的平台就可以看到刚刚建立的 project 已经有了初步的检测报告,假如代码都没有什麽潜在的问题就可以看到报告会是绿色 Passed 的状态。

但假如代码有潜在的问题,这时候报告就会出现红色的 Failed 并且指出有几个 bug 产生。

接著点击 issues tab 就可以看到目前潜在的 bug 是从哪个档案的哪一行中产生。

再点进去后就会看到潜在的 bug 的错误讯息,我们可以发现 array 的长度一定会是大于等于 0 可是我这边却写了小于 0,所以这个 if 判断条件永远都不会通过。

但我们回到代码后可以发现即便我们有安装 linter 也不会检查出这种看起来就是有问题的写法,因为 linter 通常都是在检查语法上的错误,这时候 SonarScanner 就帮助了我们可以进行更深入的检查。

SonarScanner 配置

其实 SonarScanner 也可以进行一些自定义的配置,这时候就需要建立一个叫 sonar-project.properties 的文件,这份文件裡面可以设定一些 SonarScanner 提供的 analysis parameter,由于这些配置参数实在是太多了,所以这里不会一一介绍,有兴趣的读者可以参考官网,裡面有所有参数的详细介绍,整体写法会像下图这样:

总结

这次介绍了 SonarQube 这套代码检测平台,由于笔者本身是一位前端工程师,因此只会利用 ESLint 或者 TSLint 进代码但程式码还会有一些潜在的 bug 可能是这些 linter 无法检查出来的,这时候 SonarQube 就起了一个很大的作用,帮助我们在开发时可以进行更深入的解析,假如读者未来有要做一些 CI 流程的话,不妨也可以把 SonarQube 考虑进去喔。

作者:Andy Chen

译者:小智

来源:medium

原文:
https://medium.com/starbugs/%E5%8E%9F%E4%BE%86%E7%A8%8B%E5%BC%8F%E7%A2%BC%E5%93%81%E8%B3%AA%E4%B9%9F%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%AA%A2%E6%B8%AC-%E5%88%9D%E6%8E%A2-sonarqube-14e99687806e

责任编辑:武晓燕来源: 大迁世界

相关推荐

腾讯安全中心网址(网易帐号安全中心入口)
  • 腾讯安全中心网址(网易帐号安全中心入口)
  • 腾讯安全中心网址(网易帐号安全中心入口)
  • 腾讯安全中心网址(网易帐号安全中心入口)
  • 腾讯安全中心网址(网易帐号安全中心入口)
bizhub15打印机驱动下载(bizhub打印机驱动安装)

1、请用USB数据线连接复印机和电脑。  2、打开电脑,然后到复印机的官网下载当前系统的驱动程序,然后点击安装。  3、安装完成后,点击打开打印机和传真,就可以到看扫描仪的图标。  4、找个要扫描的内...

win7电脑截屏(windows7电脑截屏)

在Win7系统中,自带的截图快捷键是“PrtScn”键,即PrintScreen键。按下这个键后,系统会将当前屏幕的内容复制到剪贴板中,然后用户可以将其粘贴到其他应用程序中进行编辑或保存。此外,Wi...

win10电脑所有软件都打不开(win10任何软件都打不开)

具体步骤如下:萊垍頭條1、如果遇到这类情况,你先看下快捷键alt+tab键能否查看,并把鼠标放在任务栏的图标上,或者查看一下窗口的缩略图。萊垍頭條2、我们将鼠标放在任务栏上,选中打不开的软件,然后al...

如何创建电子邮件账号(如何创建电子邮件账号在outlook中)

用QQ号的一键激活邮箱几乎是最快,最简单的注册邮箱手段了,且QQ邮箱功能强大,安全方便,推荐你使用,具体注册方法如下:1、你可以点击QQ面板邮箱快捷按钮,直接激活邮箱。2、如果你没有QQ,直接申请QQ...

戴尔音频驱动下载(戴尔电脑声卡驱动下载)

1、如果是笔记本没有音频设备的话,并不是没有输出设备,而是我们没有启用或者没有安装音频驱动导致的。先打开控制面板。2、打开控制面板之后下面依次找到音频清晰管理器,并且打开。3、打开之后我们这里把主音量...

toshiba硬盘(TOSHIBA硬盘tlc)

东芝移动硬盘a3好,性价比很高,传输速率高,稳定耐用,安全高效外壳是磨砂质感!USB3.0,即插即用采用NTFS格式,兼容Windwos10、Windwos8.1、Windwos7,格式化后可兼容M...

完整版xp系统下载(xp系统最新版本安装包)

2012年前的可以无压力安装XP系统,搜索:itellyou.cn这里有WINDOWS几乎所有的系统。windowsXP系统升级的具体操作步骤如下:1、首先我们将老毛桃装机工具下载到U盘,将老毛桃...

ps下载电脑版官方下载(ps电脑版下载地址)

目前在电脑上免费下载PS是不太可能的。主要有以下几个原因。1.AdobePhotoshop(简称PS)是一款商业软件,它需要用户购买和激活许可证才能合法使用。从正规渠道下载并且获得合法授权需要付费...

迅猛兔加速器(迅猛兔加速器官网)

要下载迅猛兔加速器,首先需要在官网或其他可信的下载平台上搜索并找到该软件。一般情况下,官网提供的下载链接是最稳定和安全的选择。在下载之前,确保您的电脑或手机系统能够支持使用此软件,并检查下载链接的文件...

台式电脑怎么重做系统(台式电脑怎么重装系统)

你好,电脑系统重装的步骤如下:1.备份数据:在重装系统之前,需要备份电脑中的重要数据,以免数据丢失。2.准备安装介质:需要准备一个安装介质,可以是光盘、U盘或者硬盘分区镜像等。3.设置启动顺序:将电脑...

微软office2007安装包(office2007安装包怎么安装)
  • 微软office2007安装包(office2007安装包怎么安装)
  • 微软office2007安装包(office2007安装包怎么安装)
  • 微软office2007安装包(office2007安装包怎么安装)
  • 微软office2007安装包(office2007安装包怎么安装)
电脑无法从u盘启动怎么办(电脑无法从u盘启动解决方法)
电脑无法从u盘启动怎么办(电脑无法从u盘启动解决方法)

电脑的进入不了u盘启动的解决方法:一、我们第一步需要确定的是你的u盘在别的电脑上检查一下U盘是否可读,如果可读的话是否成功制作了u盘启动盘了,因为想要启动进入pe的话需要u盘具备启动的功能。  二、如果你检查好自己的u盘已经成功制作了启动盘...

2026-01-13 10:05 liuian

cpu频率越高越好吗(cpu频率越高速度越快吗)

高好。CPU的频率是影响CPU的一个重要因素,直观上来说,频率的高低影响了CPU的性能。频率越高,CPU性能越好;不过需要注意的是,CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算...

注册表清理软件(注册表清理软件残留软件)

你好!关于注册表清理工具的推荐,以下是几个值得推荐的工具:1.CCleaner:这是一款功能强大的免费清理工具,可以有效地清理注册表、垃圾文件等,使用简单方便。2.WiseRegistryCl...