如何监控错误检查工具生成的代码中的新警告?

问题描述

是否存在用于跟踪代码中的警告的通用工具?

某些静态分析工具会生成大量误报警告,因此更改代码是不可取的。禁用个别警告也不总是一个实用的选项 *.

是否存在获取文件中位置列表的工具(可以从静态分析工具生成),这些工具可以定期运行以检测新警告的引入?

即使在基本级别上对输出进行差异化工作,如果可以更改行号而无需重新向开发人员发出警告 - 每次修改文件时都会更有用。

>

* 虽然注释可以在某些情况下抑制这些 - 例如,如果有数千个警告或使用多个错误检查器时,这并不总是实用的。在其他情况下,报告错误的工具不支持注释以禁用个别警告。

解决方法

许多最新的分析工具可以设置一个基线,将技术债务和新警告分开。例如,下面是解释这种机制的文章“How to introduce a static code analyzer in a legacy project and not to discourage the team”:

要快速开始使用静态分析,我们建议使用 PVS-Studio 用户应用批量警告抑制机制。总体思路 以下是。想象一下,用户已经启动了分析器并且 收到很多警告。由于已经开发了一个项目 许多年,还活着,仍在发展并带来金钱,那么大多数 报告中可能不会有很多警告表明严重 缺陷。换句话说,由于以下原因,已经修复了关键错误 更昂贵的方式或在客户反馈的帮助下。因此, 分析仪现在发现的一切都可以被认为是技术性的 债务,试图立即消除是不切实际的。

您可以告诉 PVS-Studio 将所有这些警告视为无关紧要的 far(将技术债务推迟到以后),而不是向他们展示 没有了。分析器创建一个特殊文件,用于存储 有关尚未引起兴趣的错误的信息。从现在开始,PVS-Studio 只会对新的或修改过的代码发出警告。顺便说一下,这是 所有这些都以非常聪明的方式实现。如果在上面添加了一个空行 文件的开头,分析器将评估情况,好像 一切都没有真正改变,并将保持安静。你可以把 版本控制系统中的标记文件。即使文件是 大,这不是问题,因为不需要经常上传。

该工具具有您正在谈论的功能。首先,对于无趣的警告有抑制机制。您可以使所有警告或选定的警告变得无趣。其次,该工具存储的不是行号,而是行的散列和附近行的散列。此信息允许在编辑文件时不对旧代码发出警告。

我不确定是否有第三方工具可以完成所有这些工作。但我建议注意SonarQube

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...