我希望尽可能避免使用Reflection。我有一个遗留的代码库来重构,至少有一个getMethod(),现在我害怕删除似乎死了的函数。
如何在代码中轻松找到可以向后工作的位置?是否有可以收集Reflection API用法的静态分析器?
搜索getClass()和getMethod()的每个变体似乎很乏味。
答案 0 :(得分:1)
我不知道我的头脑上有什么工具,但是编写遍历项目结构的脚本,遍历所有目录(包)并检查每个文件中是否包含{{ {1}}或致电java.lang.reflect
/ getMethod()
。
java中有 FileVisitor 接口,可以帮助您实现此目的。
This回答也可以帮助您替代FileVisitor 。目前已实现广度优先搜索遍历,因此您必须在其上添加:
请记住,反映可能存在于其他方面无法解决的问题。想想必须使用任何提供的类,处理运行时注释等的框架。 因此,我建议你确保通过反思解决的问题可以并且值得重构。