Java Sonarlint[squid:S1186]:Spring工具套件中构造函数上的方法不应为空
我正在Spring工具套件中使用Sonarint V3.5.0。当代码中有默认构造函数时,我收到squid:S1186警告,如下所示:Java Sonarlint[squid:S1186]:Spring工具套件中构造函数上的方法不应为空,java,spring-tool-suite,sonarlint,Java,Spring Tool Suite,Sonarlint,我正在Spring工具套件中使用Sonarint V3.5.0。当代码中有默认构造函数时,我收到squid:S1186警告,如下所示: public class TestClass{ public TestClass() {} } 一直有这样的警告有点烦人。正如我所发现的,SonarSource在3.5版中作为一个bug解决了这个问题,但是最新的Sonarlint仍然给了我这个警告 我如何使用声纳来解决这个问题?谢谢 不能单独使用SonarLint删除规则检查。您可以使用SonarQu
public class TestClass{
public TestClass() {}
}
一直有这样的警告有点烦人。正如我所发现的,SonarSource在3.5版中作为一个bug解决了这个问题,但是最新的Sonarlint仍然给了我这个警告
我如何使用声纳来解决这个问题?谢谢 不能单独使用SonarLint删除规则检查。您可以使用SonarQube服务器忽略违规规则,并将SonarLint连接到SQ服务器,以便按照建议忽略该规则 如OP中所述,SonarSource团队在以下方面存在问题:
在考虑忽略规则之前,请考虑以下事项:
这个问题是一个好的实践概念——在我们的代码中通常有一个空的作用域,而不仅仅是在构造函数中 在您的例子中,默认构造函数已经被显式实现,这显然是您正在使用的Sprint工具套件所必需的。我们很好地讨论了这种用例 考虑到空范围确实是一个反模式的事实,我建议在构造函数的空范围内添加一条注释,解释由于使用STS而需要显式公共默认构造函数 这样做显然将解决Sonarint提出的问题如果您有许多自动生成的空默认构造函数实例,您应该能够使用带有regexp的IDEs查找/替换解决方案,以便将空范围替换为包含解释原因的注释的范围。谢谢您的回答。我将尝试使用SQ服务器来解决这个问题。