gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 10:43:58 26 4
gpt4 key购买 nike

我想尽可能避免使用反射。我有一个遗留代码库需要重构,它至少有一个 getMethod(),现在我害怕删除那些似乎已经死了的函数。

如何轻松地在代码中找到可以向后工作的位置?有没有可以收集Reflection API使用情况的静态分析器?

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

最佳答案

我不知道有什么工具,但编写遍历项目结构的脚本并不难,遍历所有目录(包)并检查每个文件是否包含 java.lang.reflect 的导入或调用 getMethod()/getClass()

java中有FileVisitor接口(interface)可以帮助你做到这一点。

This 答案也可能对您有所帮助,作为 FileVisitor 的替代方案。实现了目录的广度优先搜索遍历,因此您必须在其之上添加:

  1. 读取目录中的所有文件
  2. 对于每个文件,检查其是否包含上述反射关键字
  3. 为找到的每个文件生成报告

请记住,反射(reflection)可能是为了解决原本无法解决的问题。考虑必须与任何提供的类、运行时注释处理等一起使用的框架。因此,我建议您确保通过反射解决的问题可以并且值得重构。

关于java - 在代码库中查找 Java Reflection 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34305919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com