📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗
🌻 近期刚转战 CSDN,会严格把控文章质量,绝不滥竽充数,如需交流,欢迎留言评论。👍
写在前面的话
企业开发中,随着产品的代码量的逐渐增多,服务模块的不断拆分细化,代码越来越难进行管理,代码质量与效率的矛盾慢慢凸显出来,而通过人为代码走查等方式,耗时耗力,效果也不佳。
因此,实现自动化代码检测工具势在必行。
笔者所在公司经过技术选型后,采用SonarQube
进行自动化代码审查工作,同时于自研的代码管理平台整合,实现了不错的效果,代码质量至少提升的200%那么多,O(∩_∩)O。
本篇文章简单介绍一下SonarQube
在本公司内的实际使用。
技术简介
SonarQube 是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码味道。它可以与您现有的工作流程集成,以实现跨项目分支和提取请求的连续代码检查。其目的是对代码库的质量进行360°透视。 为此,它会定期分析项目的所有源代码行。
SonarLint是一个Sonarl IDE插件,可以接收和连接SonrarQube对代码库扫描的结果从而通知Developer, SonarLint本身也可以基于一些规则对代码IDE中的代码进行即时的检测。它的目的是在您键入代码时提供即时反馈。 为此,它着重于要添加或更新的代码。
基础操作
Tips:这里省略安装步骤,网上很多资料。
代码走查平台
方式一,开发人员可以直接进入SonarQube提供的管理界面,选择自己部门负责的产品,对照代码进行修改。
开发平台整合
方式二,本公司开发人员都使用自研的代码管理平台,进行代码合并、构建、发布等动作,已将SonarQube与该产品深度整合,在做各类动作时候,都会提示异常代码扫描结果。
规则库调整
如果现有规则库不满足或不恰当,可以进入规则库后端进行调整,也支持自定义规则。
IDEA 插件
功能描述
搭配 Sonarqube 线上版本使用,开发人员在IDEA本地编码时,可以很方便的提前发现代码问题,而不需要事后从开发平台或线上地址进入整改。
该方式更加灵活,弥补了目前手工描述 + 定时扫描机制的不及时性,也减轻了服务端频繁构建的压力。
参考:SonarLint 官网
SonarLint 是一个免费的开源IDE 扩展,可识别并帮助您在编写代码时解决质量和安全问题,像拼写检查器一样,SonarLint 会显示缺陷并提供实时反馈和清晰的修复指导,以便从一开始就提供干净的代码。
安装配置
Step1、插件安装
IDEA直接搜索 SonarLint 插件并下载,重启IDEA;
Step2、服务端配置
打开 IDEA 的“设置面板 - SonarLint“,添加公司的远程数据源,按下面图示操作。
1、服务地址输入:http://192.168.4.89:19000/
2、下拉框选择Login/Password,输入Sonarlint账户密码 SonarQube平台帐号:selene 密码: selene
Step3、具体项目配置
配置完服务器之后,需要针对具体工程进行配置,下面以质控qc为例。
绑定Sonar服务端上的具体项目,具体参考下图操作。
Step4、其他配置
下方配置项,建议取消勾选,不然每次修改代码,都会进行sonarlint的检查。
插件使用
手动触发扫描
选择需要进行检查的类或者目录,右键,找到sonarlint的图标,进行sonarlint检查。
结果展示效果如下,这里的错误级别和线上版本是对应的。
提交代码时检查
在commit代码的时候,勾选Perform Sonarlint analysis,会针对你要提交的代码进行Sonarlint检查。
仅仅会给出提示,可以继续提交。
总结陈词
上文简单介绍一下SonarQube
在本公司内的实际使用,详细操作没有涉及很多。
各位架构师需要推行的话,可以按照所在公司实际情况,制定指导方针和相关手册,有需要交流可以评论或留言。
💗 后续会逐步分享企业实际开发中的实战经验,有需要交流的可以联系博主。