在大型java项目中,您使用哪些工具来查找未使用的/死的代码?我们的产品已经开发了几年,手动检测不再使用的代码变得非常困难.然而,我们确实try 删除尽可能多的未使用的代码.
对于一般策略/技术(特殊工具除外)的建议,我们也表示感谢.
Edit:请注意,我们已经使用了代码覆盖工具(Coverer,IntelliJ),但这些工具帮助不大.死代码仍然有单元测试,并且显示为被覆盖.我猜理想的工具应该是识别几乎没有其他代码依赖的代码簇,从而允许文档手动判断.
在大型java项目中,您使用哪些工具来查找未使用的/死的代码?我们的产品已经开发了几年,手动检测不再使用的代码变得非常困难.然而,我们确实try 删除尽可能多的未使用的代码.
对于一般策略/技术(特殊工具除外)的建议,我们也表示感谢.
Edit:请注意,我们已经使用了代码覆盖工具(Coverer,IntelliJ),但这些工具帮助不大.死代码仍然有单元测试,并且显示为被覆盖.我猜理想的工具应该是识别几乎没有其他代码依赖的代码簇,从而允许文档手动判断.
我会检测正在运行的系统以保持代码使用的日志(log),然后开始判断几个月或几年没有使用的代码.
例如,如果您对未使用的类感兴趣,则可以检测所有类以在创建实例时记录.然后,一个小脚本可以将这些日志(log)与完整的类列表进行比较,以找到未使用的类.
当然,如果你在方法层面,你应该记住性能.例如,这些方法只能记录它们的首次使用.我不知道用Java怎么做最好.我们在Smalltalk中做到了这一点,Smalltalk是一种动态语言,因此允许在运行时修改代码.我们使用一个日志(log)调用来检测所有方法,并在方法第一次被记录后卸载日志(log)代码,因此在一段时间后不会出现更多性能损失.也许在Java中可以用静态布尔标志做类似的事情...