猿问

如何在java项目中查找未使用/死代码

如何在java项目中查找未使用/死代码

您使用什么工具在大型Java项目中查找未使用/死代码?我们的产品已经开发了几年,手动检测不再使用的代码变得非常困难。但是,我们尝试删除尽可能多的未使用代码。

还赞赏对一般战略/技术(特定工具除外)的建议。

编辑:请注意,我们已经使用了代码覆盖率工具(Clover,IntelliJ),但这些都没有多大帮助。死代码仍然有单元测试,并显示为覆盖。我想一个理想的工具可以识别出具有很少其他代码的代码簇,从而允许docues手动检查。


慕的地8271018
浏览 824回答 3
3回答

长风秋雁

我会检测正在运行的系统以保存代码使用日志,然后开始检查未使用数月或数年的代码。例如,如果您对未使用的类感兴趣,则可以检测所有类以在创建实例时进行记录。然后一个小脚本可以将这些日志与完整的类列表进行比较,以找到未使用的类。当然,如果你采用方法级别,你应该记住性能。例如,这些方法只能记录它们的首次使用。我不知道如何用Java做得最好。我们在Smalltalk中完成了这项工作,Smalltalk是一种动态语言,因此允许在运行时进行代码修改。我们使用日志记录调用对所有方法进行检测,并在首次记录方法后卸载日志记录代码,因此在一段时间后不再出现性能损失。也许类似的事情可以在Java中用静态布尔标志来完成.....

达令说

一个运行良好的Eclipse插件是Unused Code Detector。它处理整个项目或特定文件,并显示各种未使用/死代码方法,以及建议可见性更改(即可以保护或私有的公共方法)。
随时随地看视频慕课网APP

相关分类

Java
我要回答