是否有可能关闭声纳( www.sonarsource.org )三围为特定的代码块,哪一个不希望被测量的?
一个例子是“保留堆栈跟踪”的警告,其FindBugs的输出。 当离开服务器,我很可能只想将消息传递回客户端,不包括我刚好赶上了实际的异常,如果该异常是未知的客户端(因为客户端不具备JAR在该例外载例如)。
是否有可能关闭声纳( www.sonarsource.org )三围为特定的代码块,哪一个不希望被测量的?
一个例子是“保留堆栈跟踪”的警告,其FindBugs的输出。 当离开服务器,我很可能只想将消息传递回客户端,不包括我刚好赶上了实际的异常,如果该异常是未知的客户端(因为客户端不具备JAR在该例外载例如)。
这是一个常见问题 。 你可以把//NOSONAR
就行触发警报。 我更喜欢使用FindBugs的机制,虽然,这包括在加入@SuppressFBWarnings注释:
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE",
justification = "Why you choose to ignore it")
您可以注解一个类或SuppressWarnings的方法
@java.lang.SuppressWarnings("squid:S00112")
鱿鱼:S00112在这种情况下是一种声纳问题编号。 你可以找到在声纳UI这个ID。 转至问题追溯。 找到你想要以抑制警告的问题。 在代码中的红色盒子的问题是存在于某一问题的定义规则链接。 一旦你点击,你会看到ID在页面的顶部。
我建议你尝试使用来抑制特定的警告@SuppressWarnings("squid:S2078")
为了抑制多次警告,你可以做这样的@SuppressWarnings({"squid:S2078", "squid:S2076"})
也有//NOSONAR
评论,告诉SonarQube忽略所有的错误特定行。
最后,如果你有用户界面适当的权限,你可以发出一个标志,从界面直接误报。
为什么我建议的具体警告的抑制的原因是,它是一个更好的做法来阻止一个特定的问题,而不是使用//NOSONAR
和风险声纳问题偶然在代码中爬行。
你可以在阅读更多关于这个FAQ
注:GABOR Bakos的指向旧的常见问题,现在404。 这是我第一个谷歌的结果,所以我想帮助其他人可能有同样的问题
编辑:16年6月30日SonarQube现在被称为SonarLint
如果你想知道如何找到鱿鱼数量。 只要点击声纳信息(例如, Remove this method to simply inherit it.
)和超声波问题将扩大。
在左下角就会有鱿鱼号码(例如, squid:S1185
可维护性>可理解)
所以,那么你可以通过抑制它@SuppressWarnings("squid:S1185")
我无法找到在声纳5.6鱿鱼号码,该注释也可以工作:
@SuppressWarnings({"pmd:AvoidCatchingGenericException", "checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"})
用你得到警告线// NOSONAR如果它是你不能帮助你的代码。 有用!