《企业实战分享 · Sonarqube 代码走查》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗
🌻 近期刚转战 CSDN,会严格把控文章质量,绝不滥竽充数,如需交流,欢迎留言评论。👍

写在前面的话

企业开发中,随着产品的代码量的逐渐增多,服务模块的不断拆分细化,代码越来越难进行管理,代码质量与效率的矛盾慢慢凸显出来,而通过人为代码走查等方式,耗时耗力,效果也不佳。
因此,实现自动化代码检测工具势在必行。
笔者所在公司经过技术选型后,采用SonarQube进行自动化代码审查工作,同时于自研的代码管理平台整合,实现了不错的效果,代码质量至少提升的200%那么多,O(∩_∩)O。
本篇文章简单介绍一下SonarQube在本公司内的实际使用。


技术简介

SonarQube 是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码味道。它可以与您现有的工作流程集成,以实现跨项目分支和提取请求的连续代码检查。其目的是对代码库的质量进行360°透视。 为此,它会定期分析项目的所有源代码行。
SonarLint是一个Sonarl IDE插件,可以接收和连接SonrarQube对代码库扫描的结果从而通知Developer, SonarLint本身也可以基于一些规则对代码IDE中的代码进行即时的检测。它的目的是在您键入代码时提供即时反馈。 为此,它着重于要添加或更新的代码。


基础操作

Tips:这里省略安装步骤,网上很多资料。

代码走查平台

方式一,开发人员可以直接进入SonarQube提供的管理界面,选择自己部门负责的产品,对照代码进行修改。
代码走查01
代码走查02

开发平台整合

方式二,本公司开发人员都使用自研的代码管理平台,进行代码合并、构建、发布等动作,已将SonarQube与该产品深度整合,在做各类动作时候,都会提示异常代码扫描结果。
开发平台01
开发平台02

规则库调整

如果现有规则库不满足或不恰当,可以进入规则库后端进行调整,也支持自定义规则。
规则配置01
规则配置02


IDEA 插件

功能描述

搭配 Sonarqube 线上版本使用,开发人员在IDEA本地编码时,可以很方便的提前发现代码问题,而不需要事后从开发平台或线上地址进入整改。
该方式更加灵活,弥补了目前手工描述 + 定时扫描机制的不及时性,也减轻了服务端频繁构建的压力。
参考:SonarLint 官网

SonarLint 是一个免费的开源IDE 扩展,可识别并帮助您在编写代码时解决质量和安全问题,像拼写检查器一样,SonarLint 会显示缺陷并提供实时反馈和清晰的修复指导,以便从一开始就提供干净的代码。

安装配置

Step1、插件安装
IDEA直接搜索 SonarLint 插件并下载,重启IDEA;
IDEA01

Step2、服务端配置
打开 IDEA 的“设置面板 - SonarLint“,添加公司的远程数据源,按下面图示操作。
1、服务地址输入:http://192.168.4.89:19000/
2、下拉框选择Login/Password,输入Sonarlint账户密码 SonarQube平台帐号:selene 密码: selene
IDEA02
IDEA03
IDEA04

Step3、具体项目配置
配置完服务器之后,需要针对具体工程进行配置,下面以质控qc为例。
绑定Sonar服务端上的具体项目,具体参考下图操作。
IDEA05

Step4、其他配置
下方配置项,建议取消勾选,不然每次修改代码,都会进行sonarlint的检查。
IDEA06

插件使用

手动触发扫描
选择需要进行检查的类或者目录,右键,找到sonarlint的图标,进行sonarlint检查。
IDEA07
结果展示效果如下,这里的错误级别和线上版本是对应的。
IDEA08

提交代码时检查
在commit代码的时候,勾选Perform Sonarlint analysis,会针对你要提交的代码进行Sonarlint检查。
仅仅会给出提示,可以继续提交。
IDEA09
IDEA10


总结陈词

上文简单介绍一下SonarQube在本公司内的实际使用,详细操作没有涉及很多。
各位架构师需要推行的话,可以按照所在公司实际情况,制定指导方针和相关手册,有需要交流可以评论或留言。

💗 后续会逐步分享企业实际开发中的实战经验,有需要交流的可以联系博主。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

战神刘玉栋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值