是否可以关闭特定代码块的声纳(www.sonarsource.org)测量,哪些代码块不想被测量?
Findbugs输出的“保存堆栈跟踪”警告就是一个例子。当离开服务器时,如果客户端不知道异常(例如,因为客户端没有包含异常的JAR),我很可能只想将消息传递回客户端,而不包括我刚刚捕获的实际异常。
是否可以关闭特定代码块的声纳(www.sonarsource.org)测量,哪些代码块不想被测量?
Findbugs输出的“保存堆栈跟踪”警告就是一个例子。当离开服务器时,如果客户端不知道异常(例如,因为客户端没有包含异常的JAR),我很可能只想将消息传递回客户端,而不包括我刚刚捕获的实际异常。
当前回答
我建议你尝试使用@SuppressWarnings("squid:S2078")来抑制特定的警告。
为了抑制多个警告,你可以这样做@SuppressWarnings({"squid:S2078", "squid:S2076"})
还有//NOSONAR注释告诉SonarQube忽略某一行的所有错误。
最后,如果您拥有用户界面的适当权限,您可以直接从界面发出假阳性标志。
我建议屏蔽特定警告的原因是,屏蔽特定问题比使用//NOSONAR和冒着Sonar问题意外潜入代码的风险是一个更好的实践。
你可以在FAQ中阅读更多相关内容
编辑:6/30/16 SonarQube现在被称为SonarLint
如果你想知道如何找到鱿鱼号。只需单击Sonar消息(例如,删除此方法以简单地继承它),Sonar问题将扩展。
在左下方,它将有鱿鱼的编号(例如鱿鱼:S1185维护性>理解性)
所以你可以通过@SuppressWarnings("squid:S1185")来抑制它
其他回答
我在声纳5.6中找不到鱿鱼的数量,用这个注释也可以:
@SuppressWarnings({"pmd:AvoidCatchingGenericException", "checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"})
这是一个常见问题。你可以把//NOSONAR放在行末触发警告。
/ / NOSONAR 对于大多数语言,SonarQube支持在问题行末尾使用通用机制://NOSONAR。这将抑制所有的问题——现在和将来——可能会在线上提出。
不过,我更喜欢使用FindBugs机制,它包括添加@SuppressFBWarnings注释:
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE",
justification = "Why you choose to ignore it")
使用//NOSONAR在行中,如果它是你无法帮助你的代码的东西,你会得到警告。它的工作原理!
实际上,很难理解哪个是问题的ID,所以我使用了@SuppressWarnings(“all”)注释,它基本上适用于所有规则,但为了更精确,最好使用ID。点击查看图片-> 声纳问题ID
因此,当点击“为什么这是一个问题?”在红色框,i你会得到一个屏幕上的解释。在屏幕左侧的顶部,您可以看到规则名称,左侧是该规则的id。 因此,要应用此规则,您必须将此注释添加到您的类或方法。
@SuppressWarnings (common-java: DuplicatedBlocks)
我建议你尝试使用@SuppressWarnings("squid:S2078")来抑制特定的警告。
为了抑制多个警告,你可以这样做@SuppressWarnings({"squid:S2078", "squid:S2076"})
还有//NOSONAR注释告诉SonarQube忽略某一行的所有错误。
最后,如果您拥有用户界面的适当权限,您可以直接从界面发出假阳性标志。
我建议屏蔽特定警告的原因是,屏蔽特定问题比使用//NOSONAR和冒着Sonar问题意外潜入代码的风险是一个更好的实践。
你可以在FAQ中阅读更多相关内容
编辑:6/30/16 SonarQube现在被称为SonarLint
如果你想知道如何找到鱿鱼号。只需单击Sonar消息(例如,删除此方法以简单地继承它),Sonar问题将扩展。
在左下方,它将有鱿鱼的编号(例如鱿鱼:S1185维护性>理解性)
所以你可以通过@SuppressWarnings("squid:S1185")来抑制它