从项目中删除未使用的代码

可能重复:
在Java Eclipse项目中查找未使用的类

我正在尝试在现有项目的基础上创建项目。 我的项目非常简单,并使用主项目中的类。 我想从我的项目中删除所有未使用的类。 有可能以某种方式自动完成吗?

您可以使用Eclipse插件UCDetector 。

UCDetector (不必要的代码检测器 – 发音为“You See Detector”)是一个eclipse PlugIn工具,用于查找不必要的(死的)公共java代码。 例如,没有引用的公共类,方法或字段。 UCDetector为以下问题创建标记,这些问题出现在eclipse问题视图中:

  • 不必要的(死的)代码
  • 可见性可以更改为受保护,默认或私有的代码
  • 字段的方法,可以是最终的

这不会完全自动化,但至少你会在相关代码上找到要删除的标记。

删除从未加载的类:

使用VM参数运行程序:

-verbode:class

这将列出程序运行时加载的所有类。

删除未使用的方法

使用代码覆盖工具并通过测试运行项目将标记所有未使用的代码。

例如Eclipse中的EclEmma插件

这样你就可以一块一块地删除从未使用过的代码。

对于更通用的解决方案 – 您可以使用静态代码分析工具检测未使用的代码(以及其他错误的编程实践)。 我推荐Sonar ,但任何其他静态分析工具都可以。 部分function包括:

  • 从简单的命名约定到复杂的反模式检测,现成的600多种编码规则
  • 在Sonar中检索与代码行,Cyclomatic Complexity,Duplicated code,Comments相关的所有经典度量

具体而言,用于检测未使用代码的规则是:

  • 未使用的私人领域
  • 未使用的私有方法

要查找未使用的类,请考虑按照本文中的建议使用ProGuard。