【发布时间】:2015-05-19 06:06:26
【问题描述】:
这个问题听起来可能与this question 重复,但它们并不相同。我正在处理一些遗留代码,其中记录是在一些(不是全部)类的大多数(不是全部)功能的进入和退出时完成的。使用Antlr 或一些类似工具以编程方式添加了这两点的日志记录。现在我拥有的是我想要迁移到新样式的遗留代码。新样式应在具有此类日志记录的每个函数的顶部添加一个注释(它将检测代码以在进入和退出时添加日志记录)并从这些函数中删除代码。
采用 Antlr 的方法来完成这项任务是有问题的,因为它无法理解 Java 的新语法和语义,并且在多个地方都失败了。那么解决这个问题的最佳方法是什么?
【问题讨论】:
-
这是一份一次性工作吗?要修改多少文件?
-
是的,此迁移将是一个项目的一次性工作。文件可能有数百个。
-
你可以看看JavaParser。但即使这将是一项无聊的任务。在您的 IDE 中搜索方法调用并自己输入注释可能会更快,而不是搜索可以用于此工作的框架。另一种“快速而肮脏”的编程解决方案可以逐行读取所有文件,检查方法是否调用旧式日志记录,如果是,则添加注释并注释掉旧式调用。使用 IDE 进行外观调整(缩进、格式化等)。但对于我所有的建议:
It depends on your specific case.