【问题标题】:SonarQube rule "common-java:DuplicatedBlocks" on import statements导入语句上的 SonarQube 规则“common-java:DuplicatedBlocks”
【发布时间】:2015-07-03 10:14:56
【问题描述】:

我对带有 java 插件 3.3 的 sonarQube 4.5 的规则“common-java:DuplicatedBlocks”有疑问

import static com.something.mystuf.Constants.GREEN;
import static com.something.mystuf.Constants.RED;

违反了规则。但我不想写

import static com.something.mystuf.Constants.*;

如果我只使用可能的数百种颜色中的两种颜色。规则不应该忽略进口吗?我假设已经存在重复导入规则?

【问题讨论】:

    标签: java sonarqube sonarqube-4.5


    【解决方案1】:

    我不知道我们是否可以将规则配置为忽略导入时的重复块...(我不这么认为)。

    但 SonarQube 是一种有助于编写更好代码的工具,您不应该总是遵守规则。可以将违规标记为误报。 我认为这是你在这种情况下必须做的。

    或者,您不应该使用静态导入。如果没有静态导入,代码将更具可读性和可维护性。

    【讨论】:

    • 我不同意静态导入部分。当我在代码中看到绿色或红色时,它非常清楚。它前面的常量只是噪音 IMO。
    • 我们不同意静态导入,我尊重您的意见。这是一个有争议的辩论,有人支持,有人反对,我们不会在这里讨论。您可以免费使用或不使用它们。但是如果您不想报告误报或禁用规则,这是避免违反此规则的解决方案....
    • 这会导致所有执行某些参数验证的类出现大量误报。 '导入静态 com.google.common.base.Preconditions.checkArgument;导入静态 com.google.common.base.Preconditions.checkNotNull;'不幸的。不过没关系。
    猜你喜欢
    • 2015-12-26
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2016-05-19
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    相关资源
    最近更新 更多