我们正在使用 Sonar Qube 6.7.3 和 sonar-java-plugin 5.3
我们最近对 Sonar 配置进行了以下更改
- 启用新规则
- 更改了配置以包含字节代码(从“clean sonar:sonar”更改为“clean package sonar:sonar”)
我们正在使用 Sonar svn 插件并为其提供有效的凭据。
我知道向 Sonar 提供字节代码将有助于它识别更多问题,但是,我希望 Sonar 根据 svn 代码提交日期和上次分析日期来标记新问题,但事实并非如此。。 p>
请告诉我为什么它将旧代码中的问题标记为新代码?
最佳答案
Sonar Sanner 始终扫描整个代码库。如果有人认为某些代码结构是错误的或危险的(规则集已更改),那么 SonarQube 必须通知该代码的所有出现。为什么?让我们考虑以下示例:
插件升级后,SonarQube 提供了一个新的非常重要的安全规则,禁止使用危险的密码算法。现在问题是:
- 只有在新代码中才危险吗?
- 这总是危险的吗?
当然,这总是危险的。 SonarQube 不会强制您修复所有问题(质量门的使用是可选的)。它的主要目标是让您知道整个代码库中存在多少问题(代码气味/错误/漏洞)。
关于java - Sonar 显示旧代码中存在新的违规行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504588/