使用 GitHub Actions 通过 CI 提高代码质量

在这里插入图片描述
不论是开发、暂存还是生产环境,无时无刻都有代码不间断地被推送到 Git 上。 我们总是想要确保我们投入大量时间设计和编写的代码是具备可读性与安全性的,并且没有漏洞,能够平稳地运行。

使用自动化可以节省时间、工作量以及成本,同时减少人为错误,使您能够专注于主要目标。自动化代码质量测试过程,并将该过程添加到 CI 工作流中,因为每项任务都是一致执行且自动触发的,因此即使存在大量任务有待完成,也能确保高质量的结果。

在本文中,我们所讨论的主题将围绕代码质量展开,并探讨编写高质量代码的含义,需要给予关注的原因,以及如何使用 CI 工具来对其进行改进。

提高代码质量意义何在?

讨论代码质量时,我们通常假设我们正在审查的代码已经通过了功能测试,并且没有致命的或重大的缺陷(也就是说,代码按预期工作)。但其可能存在潜在的漏洞,或者受到其他低质量属性的影响。

代码质量是软件设计和编写水平,以及是否遵循设计约束、最佳实践和编码惯例的衡量标准。这关系到程序员是否可以写出易读、易维护以及重复使用的代码。提高您的代码质量有助于确保您的软件能够可靠、安全地运行,并且确保对其提供帮助并非难事。我们已经在之前的博文中讨论了如何提高 C++ 代码质量。此文不专门针对 C++(但当然也可能与 C++ 有关),而是更侧重于 CI 管道技术,从而提高代码质量。

其理念在于使用 CI 工作流来检查代码质量(安全漏洞、可读性和编码惯例等)。如果代码不符合您的组织标准,您可以触发警报,或者在某些情况下甚至可以阻止它被推送到特定的环境中。

什么是 Github Actions?

GitHub Actions 是一个 CI/CD 平台,能够使应用程序的构建、测试和部署管道自动化,并且允许您在特定事件发生时运行一个动作或一组动作。例如,您可以测试应用程序代码,如果成功通过所有测试,即可构建容器镜像,并将其推送到容器注册表。

GitHub 提供现成的 Linux、Windows 和 macOS 虚拟机来运行您的工作流,但如果需要订制的虚拟机,且其硬件能完全满足您的需求,您可以在数据中心或云基础设施中托管自己的自托管运行器。

过去,我们已经在一些博文中使用并讨论了 GitHub Actions:

而本文将使用 GitHub Actions 来追求更高的代码质量。

如何提高代码质量

有多种方法可以用来提高代码质量,但在本文中,我们将深入探讨三种方法,并会解释如何通过 CI 工作流来执行每种方法。我们将重点关注以下几个方面:

我们已经就各方面创建了 Git 存储库,并且加以实施,如果您在环境中设置事物遇到困难,便可依靠于此 Git 存储库。

代码覆盖率

自动化的代码测试使您能够自信地对现有代码进行变更、重构和添加功能,并且了解它会正常地运行。

代码覆盖率衡量测试期间所执行代码的百分比。代码覆盖率是一个非常重要的衡量指标,可以让您了解实际测试了多少代码库。

您可能认为您所编写的测试涵盖了所有相关场景,但情况往往并非如此。测试每一行的代码都非常困难——即使您有 100% 的覆盖率,由于实际流基于不同流的组合,在逻辑上也不能涵盖系统的所有方面和可能性。即便如此,达到较高的代码覆盖率通常可以很好地衡量测试是否彻底。通过使用代码覆盖率工具,您可以更容易地发现未经测试的区域,增强团队

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值