重构移动和提取方法的硬编码,解析类及其引用?

时间:2016-11-27 14:54:59

标签: java eclipse parsing refactoring automated-refactoring

目前,我正在研究重构任务及其优先级。我需要检查每个任务的效果(例如,移动方法,提取方法,删除方法),并在类和项目级别进行一些计算。

在代码级别手动处理这些任务的最佳方法是什么?

我正在考虑在其主要应用程序之上构建Eclipse插件,该应用程序打开重构菜单并进行重构任务,但它看起来不是很好的方法,我需要与每个类的代码建立更紧密的关系。

其他方面,我正在考虑构建一个解析每个类及其引用并执行ref的插件。解析时的任务?这种方法对我来说似乎更合适,因为我需要自动化流程并进行一些计算。

编程/编码重构任务(移动,提取和删除方法)的常用方法是什么?我正在研究Java。

2 个答案:

答案 0 :(得分:0)

有点不清楚你想要做什么。 使用Eclipse JDT,存在用于运行手动重构的API:http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2Frefactoring%2FIJavaRefactorings.html

我看过一篇研究论文,描述了这些因素对功耗的影响。

否则,您可以查看AutoRefactor以获取有关如何使用JDT进行重构的示例。免责声明:我是AutoRefactor的作者。

答案 1 :(得分:0)

最常用的重构工具是Program Transformation Systems (PTS)。 这些工具可以读取源代码,构建代表该代码的编译器数据结构(通常是AST),允许对这些结构进行自定义修改,然后可以从修改后的结构中重新生成代码。

可以将好的PTS配置为处理任意语言,并允许您使用目标语言的表面语法编写源到源转换的代码转换,格式如下:

 when you see *thispattern*, replace it by *thatpattern* if *condition*

这些工具可以在小型甚至架构代码更改中执行任意代码重构,或者在大型迁移中进行迁移。

[请参阅我的个人简历]。