SonarLint在我的代码库中将某些变量标记为阻止程序。像public static final String INVALID_PASSWORD = "Your password is invalid.";
SonarLint认为该变量可能包含硬编码的密码,这存在安全风险。但是在这种情况下,变量不包含密码,而是包含有关密码的消息。
我也有一些类似public static final String INVALID_PASSWORD = "INVALID_PASSWORD";
的代码,而不是字符串,SonarLint也会对其进行标记。
“修复”此类问题的最佳实践是什么?想到的两个解决方案是重命名变量,并使用@SupressWarnings("code here")
批注。
SonarLint本身是否对此问题有建议?有行业最佳实践吗?
最佳答案
您应该可以使用以下方法使Sonar问题静音:
@SuppressWarnings("squid:S2068") // This is not an hard coded password.
罪魁祸首上有注释。