- 有时人们会错误地导入MacBook JDK中存在但在Linux中不存在的类。这会导致CI服务器(基于Linux的盒子)构建失败。虽然这种情况并不经常发生,但当它发生时,我认为应该有一些更聪明的方法来提前发现。
- 未使用的导入会触发IDE /代码分析中的警告。不时有人需要花时间清理这些东西。即使只是在IDE中单击右键,您仍然需要提交更改并确保构建的一切正常。
我很好奇是否有任何办法可以通过编程方式找到未使用的导入(比如从单元测试中),并且如果有任何未使用的导入则在本地失败。
也许因为未使用的导入而使构建失败听起来很严厉,但如果它节省了团队的时间,则有意义(我也很想听听对此的看法)。
更新:
我遵循了yegor256的建议,将Checkstyle任务与最初的Sun代码约定之一(未使用的导入是其中之一)结合起来,并使其在发现违规行为时中断构建。
经过一周的试用,我们的代码库中没有未使用的导入,令人惊讶的是,没有关于此规则的任何投诉(顺便说一句,Checkstyle非常快:分析约100KLoc只需不到一秒钟)。
至于使用IDE进行这种分析:是的,这是一个不错的选择,但将此类检查作为自动化构建的一部分运行更好。