SonarLint在我的代码库中将某些变量标记为阻止程序。像public static final String INVALID_PASSWORD = "Your password is invalid.";
SonarLint认为该变量可能包含硬编码的密码,这存在安全风险。但是在这种情况下,变量不包含密码,而是包含有关密码的消息。
我也有一些like public static final String INVALID_PASSWORD = "INVALID_PASSWORD";
,它们是代码而不是字符串,SonarLint也会对其进行标记。
“解决”此类问题的最佳实践是什么?想到的两个解决方案是重命名变量并使用@SupressWarnings("code here")
注释。
SonarLint本身是否对此问题有建议?有行业最佳实践吗?
您应该能够通过以下方式使声纳问题静音:
@SuppressWarnings("squid:S2068") // This is not an hard coded password.
Run Code Online (Sandbox Code Playgroud)
注释过罪魁祸首。
如果您在连接模式下将 SonarLint 与 SonarQube 一起使用,那么您可以安全地将此问题标记为False Positive。这将是管理软件质量的推荐方法,但它需要 SonarQube。
如果您不使用 SonarQube,那么目前没有(好的)方法来抑制 SonarLint 中的问题。这样的功能很有可能在不久的将来(今年)在 SonarLint 中实现。
归档时间: |
|
查看次数: |
1833 次 |
最近记录: |