是否有可能在源代码中抑制 sonarcloud 的警告?
Is there a possibility to suppress warnings of sonarcloud in source code?
我遇到了一些 sonarcloud 警告的问题,这些警告在不久的将来不会被修复(现在应该被禁用)。
sonarcloud 在 CI 上构建期间发出警告。没有任何本地分析器。
有没有办法抑制项目、文件、class and/or 方法级别的源代码中的某些特定警告?
官方文档帮助不大,至少我没找到解决方法
sonarcloud是否尊重一些
#pragma warning disable S3881
或其他基于属性的方法或一些全局设置。
有多种方法可以做到这一点(至少在 java 中是这样,但我认为它可能对您有所帮助)
GUI 方式 - 您可以在其中定义要与特定规则匹配的键和文件模式。这允许您例如。排除规则的测试或文件夹
注释方式(java 版本)- 在 Java 中,您可以通过使用 //NOSONAR <optional reason>
尾随它们来忽略扫描仪中的整行 - 我假设这也适用于 C#(但请验证,如果合适,请告诉我们)
Annoation 方式(java 版本)- 但看起来类似于#pragma warning disable
@SuppressWarnings("squid:S2068")
就是这样,我们如何在 Java 中禁用代码块的规则 - 所以我假设你使用 #pragma warning disable S3881
的方法是正确的方向,但它应该是 #pragma warning disable csharpsquid:S3881
.
如前所述,我不是 C# 开发人员,也不真正熟悉该语言,但我希望 java 方式和 gui 方式能帮助您朝着正确的方向前进。
是的,SonarCloud 遵循 #pragma
语法:
#pragma warning disable S3881
// The statement that fails validation
#pragma warning restore S3881
将 S3881
替换为不适合您的号码。
#pragma
语法有效,但我觉得它很难看。
我更喜欢添加属性,我通过试验发现以下属性有效:
[SuppressMessage("SonarLint", "S125", Justification = "Ignored intentionally as a demo")]
public void When_X_Expect_Y()
{
//string x = "trigger 'S125 - commented out code' issue in SonarLint";
}
SuppressMessage
的第一个参数似乎无关紧要。第二个关键有效。
我遇到了一些 sonarcloud 警告的问题,这些警告在不久的将来不会被修复(现在应该被禁用)。
sonarcloud 在 CI 上构建期间发出警告。没有任何本地分析器。 有没有办法抑制项目、文件、class and/or 方法级别的源代码中的某些特定警告?
官方文档帮助不大,至少我没找到解决方法
sonarcloud是否尊重一些
#pragma warning disable S3881
或其他基于属性的方法或一些全局设置。
有多种方法可以做到这一点(至少在 java 中是这样,但我认为它可能对您有所帮助)
GUI 方式 - 您可以在其中定义要与特定规则匹配的键和文件模式。这允许您例如。排除规则的测试或文件夹
注释方式(java 版本)- 在 Java 中,您可以通过使用
//NOSONAR <optional reason>
尾随它们来忽略扫描仪中的整行 - 我假设这也适用于 C#(但请验证,如果合适,请告诉我们)Annoation 方式(java 版本)- 但看起来类似于#pragma warning disable
@SuppressWarnings("squid:S2068")
就是这样,我们如何在 Java 中禁用代码块的规则 - 所以我假设你使用
#pragma warning disable S3881
的方法是正确的方向,但它应该是#pragma warning disable csharpsquid:S3881
.
如前所述,我不是 C# 开发人员,也不真正熟悉该语言,但我希望 java 方式和 gui 方式能帮助您朝着正确的方向前进。
是的,SonarCloud 遵循 #pragma
语法:
#pragma warning disable S3881
// The statement that fails validation
#pragma warning restore S3881
将 S3881
替换为不适合您的号码。
#pragma
语法有效,但我觉得它很难看。
我更喜欢添加属性,我通过试验发现以下属性有效:
[SuppressMessage("SonarLint", "S125", Justification = "Ignored intentionally as a demo")]
public void When_X_Expect_Y()
{
//string x = "trigger 'S125 - commented out code' issue in SonarLint";
}
SuppressMessage
的第一个参数似乎无关紧要。第二个关键有效。