【发布时间】:2017-05-02 19:23:22
【问题描述】:
如何使用 checkstyle 对某些方法强制执行静态导入?
例如
我希望仅从静态导入中使用以下方法:
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
所以这样的代码不应该被允许:
if (Objects.nonNull(varName)) {
任何想法如何使用(最好)标准或非标准工具来实现?
【问题讨论】:
-
你将如何处理使用来自不同类的同名方法?
-
您可以在 CheckStyle、FindBugs 或 PMD 中实现自定义规则。但是,说真的,大多数 Java 程序员(以及大多数样式指南)会认为使用这样的静态导入是不好的样式。
-
@Bohemian 这不是问题。因为我们需要强制执行 3-4 种方法,几乎 0% 的机会与其他库发生冲突。
-
@StephenC 想要避免为此编写自定义解决方案。关于风格:同意 - 但现在很混乱,因为一半的开发者使用一种风格,另一半使用另一种风格。
-
@StephenC 我个人更喜欢静态导入,因为它使代码更具可读性(尤其是收集器等),但永远不会考虑强制它。
标签: java static-analysis checkstyle