在代码库中查找Java Reflection的用法

时间:2015-12-16 07:10:28

标签: java reflection refactoring

我希望尽可能避免使用Reflection。我有一个遗留的代码库来重构,至少有一个getMethod(),现在我害怕删除似乎死了的函数。

如何在代码中轻松找到可以向后工作的位置?是否有可以收集Reflection API用法的静态分析器?

搜索getClass()和getMethod()的每个变体似乎很乏味。

1 个答案:

答案 0 :(得分:1)

我不知道我的头脑上有什么工具,但是编写遍历项目结构的脚本,遍历所有目录(包)并检查每个文件中是否包含{{ {1}}或致电java.lang.reflect / getMethod()

java中有 FileVisitor 接口,可以帮助您实现此目的。

This回答也可以帮助您替代FileVisitor 。目前已实现广度优先搜索遍历,因此您必须在其上添加:

  1. 读取目录中的所有文件
  2. 对于每个文件,检查它是否包含如上所述的反射关键字
  3. 为找到的每个文件生成报告
  4. 请记住,反映可能存在于其他方面无法解决的问题。想想必须使用任何提供的类,处理运行时注释等的框架。 因此,我建议你确保通过反思解决的问题可以并且值得重构。