您使用什么工具在大型Java项目中查找未使用/死代码?我们的产品已经开发了几年,手动检测不再使用的代码变得非常困难.但是,我们尝试尽可能多地删除未使用的代码.
还赞赏对一般战略/技术(特定工具除外)的建议.
编辑:请注意,我们已经使用了代码覆盖率工具(Clover,IntelliJ),但这些都没有多大帮助.死代码仍然有单元测试,并显示为覆盖.我想一个理想的工具可以识别出具有很少其他代码的代码簇,从而允许docues手动检查.
您会建议使用什么工具来检测Java包循环依赖关系,知道目标是明确列出检测到的"跨包循环"中涉及的特定类?
我知道classycle和JDepend,但它们都没有列出循环包依赖中涉及的类.度量标准有一个有趣的循环图形表示,但它再次限于包,并且很难在某些时候阅读.
我厌倦了得到一个:
"你在这3个软件包之间有一个软件包循环依赖关系,
你们每个 好运中都有xxx类
找到合适的类并打破这个循环"
你知道任何工具需要额外的步骤来实际解释为什么检测到循环(即'列出所涉及的类')?
Riiight ...时间宣布结果:
@ l7010.de:谢谢你的努力.我会投票给你(当我有足够的代表时),特别是对于'CAP'答案......但是CAP已经死了,不再与我的Eclipse 3.4兼容了.其余的是商业广告,我只看免费软件.
@ daniel6651:谢谢你,但正如所说,只是免费软件(对不起,首先没有提到它).
@izb作为findbugs的常用用户(现在使用最新的1.3.5),我只需点击一下即可接受你的答案......如果你能向我解释一下有什么选项可以激活findbug以检测任何周期.该功能仅在0.8.7版本中提及(查找' 新样式检测器以查找类之间的循环依赖关系 '),我无法测试它.更新:它现在有效,我有一个旧的findbugs配置文件,其中没有激活该选项.我仍然喜欢CAD ;)
答案是......看下面我自己的(第二个)答案
我有一个大项目我的经理致力于我从项目中删除未使用的类.
我找到了很好的工具,它给了我在项目中没有使用的类列表.
可以apache哈马吗?或建议任何其他工具
是否可以使用FindBugs检测源树中未使用的方法?我在SO上看到了一些帖子,其中用户声称要这样做,有些人询问如何在FB中执行此操作以及其他人声称FB无法执行此操作.
有谁知道这是怎么做到的?我只对从其他地方没有明确调用的方法感兴趣,我不关心反射.
我们有一个庞大的(有点笨拙的)项目,它肯定有文件,包括不再使用的Java类和XML文件(也可能是图像).是否有工具或方法来找出项目中没有引用哪些文件?
我看到了这个问题,但它不是特定于 Android的:在Java Eclipse项目中查找未使用的类
我是旧Java项目的新人(也是唯一的人).几个家伙在我之前开发了这个.是否有任何工具(Eclipse的插件会很好)可以在项目死类中找到(已声明的类但它们不再在任何地方使用?
我担心我的应用程序中的某些类具有已定义但未在应用程序中的任何位置调用的方法.
在Eclipse中有没有办法找到这些方法?
java ×6
eclipse ×3
class ×2
dead-code ×2
dependencies ×2
refactoring ×2
android ×1
findbugs ×1
packages ×1