代码静态检查为什么需要对告警去做运营?
本文分享自华为云社区《代码静态检查为什么需要对告警去做运营?》,作者:gentle_zhou 。
代码检查SAST技术支持指对代码的风格,质量和安全进行静态的检查,以发现代码中的缺陷和漏洞,提高代码的可读性,可靠性和可维护性。而其中代码检查扫描出来的告警则是指SAST检查工具发现的代码问题,通常告警会给出相应的告警级别、类型、描述、原因、正反例和修复建议。
至于为什么要对告警去做运营呢?因为告警并不是一个可以简单去做比较的指标,其多少并不能全面、直接的反映出代码质量的好坏。告警的多少取决于多种因素,比如使用了不同的检查工具,选用了不一样的规则和标准,都会导致不同类型、不同数量的告警结果;当然除了扫描期间的因素,扫描前代码规模、复杂度、业务逻辑等因素也会影响到告警的产生。除了告警数量之外,我们还需要关注告警的严重程度、影响范围、处理程度、人工屏蔽、误报率等指标。
什么是告警运营?
代码检查的告警运营是指对代码检查的告警结果进行分析、处理和汇报的过程。告警运营的目的就是从当前已经产生了的告警去做统计,解决已经扫描发现的问题,保障项目、业务的正常健康的运行;同时,这些告警数据也可以从多维度支撑运营分析,作为后续改善的依据,防止再出现类似的缺陷和漏洞。
告警运营里,用户一般关注什么?
在告警运营里,用户一般会关注以下几个方面:
- 告警的数量和类型,以此来了解项目中代码整体的质量和风险状况。
- 告警在项目中的分布、严重程度和责任人归属,以此来确定缺陷告警由谁来负责,优先级的高低。
- 告警产生的原因,以此来找出问题的根源,支持团队内评估出解决方案。
- 告警造成的影响,以此来评估缺陷对项目业务的影响范围和程度。
- 告警的处理进度、用户反馈,以此来跟踪告警是否被处理,并支持定期分析用户的意见和建议。
关注告警运营的用户一般是包括哪几类?
一般关注告警运营的用户包括如下几种类型:
- 代码开发者,程序员一般需要对自己编写的代码进行检查和修复,对于告警的数量、类型、严重程度、责任人归属、原因是会天然的去关注的。
- 代码审核者,一般是commiter角色,需要对团队编写的代码进行审核,需要确保团队输出代码的规范性和一致性,对于告警数量、类型、严重程度、责任人归属、原因、影响、处理进度都需要密切关注。
- 项目管理者,一般是整个团队,产业线甚至整个公司层面的管理者,他们需要对不同层级大大小小的项目的整体状况进行监控和管理,对于告警数量、分布、造成的影响、处理的进度、用户反馈会重点关注。
关注这些指标对于用户来说都有什么好处?
关注好告警各类指标信息,可以帮助用户及时发现和修复代码缺陷问题,了解和优化项目代码的性能和效率,学习和改进代码的规范和技巧,建立和完善项目的监控和管理体系;让项目代码质量、安全、可读性、可维护性、可控性、可信度、功能可用性和稳定性得到有质量的提高和管控。
用户怎么分别去获取到各自关注的数据呢?
关注告警运营的用户会根据自身角色和职责的不同,关注维度的不同,选择合适的告警分析和监控工具。
对于代码开发者和审核者,因为他们直面项目开发,对代码质量负有最直接的责任,更快、更详细的获取到第一手代码告警信息是关注的核心。因此一个有详尽告警信息,缺陷告警报告的代码检查服务,对于项目开发者团队来说就非常有必要。
对于项目管理者,因为关注更高层面项目整体的健康度,对于细节反而不是那么在意,高level、更清晰呈现出项目各告警运营指标是关注的重点。代码检查服务本身更加关注于任务维度告警信息的细节,项目、产品线层级、公司层级的告警运营,就很需要一个专门的告警运营看板来承载。
让我们来看一看华为云CodeArts Check代码检查本身自带的告警运营信息都有哪些?
告警运营概览:
导出任务告警详尽信息:
代码问题页签(支持生成缺陷报告):