小编典典

如何在Java项目中查找未使用/无效的代码

java

你使用什么工具在大型Java项目中查找未使用/无效的代码?我们的产品已经开发了几年,并且很难手动检测不再使用的代码。但是,我们确实尝试删除尽可能多的未使用的代码。

对于一般策略/技术(除特定工具之外)的建议也将受到赞赏。

编辑:请注意,我们已经使用了代码覆盖率工具(Clover,IntelliJ),但是这些帮助不大。无效代码仍具有单元测试,并显示为已覆盖。我猜一个理想的工具可以识别出几乎没有其他代码依赖的代码集群,从而可以对文档进行手动检查。


阅读 1201

收藏
2020-03-10

共1个答案

小编典典

我将对正在运行的系统进行检测以保留代码使用情况的日志,然后开始检查几个月或几年未使用的代码。

例如,如果你对未使用的类感兴趣,那么可以创建所有类以记录创建实例时的日志。然后,一个小的脚本可以将这些日志与类的完整列表进行比较,以找到未使用的类。

当然,如果你使用方法级别,则应牢记性能。例如,这些方法只能记录其首次使用。我不知道这是如何用Java最好完成的。我们是在Smalltalk中完成的,Smalltalk是一种动态语言,因此可以在运行时修改代码。我们使用日志记录调用对所有方法进行检测,并在首次记录方法后卸载日志记录代码,因此一段时间后,不会再出现性能损失。也许可以使用静态布尔值在Java中完成类似的操作…

2020-03-10