【发布时间】:2016-04-16 15:00:14
【问题描述】:
是否可以使用 checkstyle 检查 java 项目是否在代码中使用完全限定名称。我们想阻止像
这样的代码if (org.apache.commons.lang3.StringUtils.isBlank(name)) {
....
....
}
并希望强制改为导入包。
还有其他工具可以帮助我们完成它吗?
【问题讨论】:
-
如果存在类名冲突,您对该工具有何期望?
-
可以通过导入控制规则查看。然后配置 Maven Checkstyle 插件,这样任何违规都将不允许构建...?
-
有趣的问题。但是您确定要启用此功能吗?在处理遗留代码时,我有时需要使用完全限定名称,并且有人使用了 custom
StringUtils类。鉴于该类的不足,我最终在该类中使用了 Apache CommonsStringUtils,而自定义StringUtils已经使用了导入,因此我需要它。 -
@JonathanThoms 我们也在处理遗留代码,并且非常小心地删除了您描述的那种自定义类。我们需要在构建过程中进行检查,以便不再将此类完全限定名称添加到代码中。
-
@varevarao 我们不希望我们的代码具有完全相同的类名,这些类名需要在同一个 .java 文件中使用。如果确实出现这种情况,该工具可以提供一种指定例外情况的方法。
标签: java checkstyle intellij-14