【问题标题】:Refactoring java code using scripts使用脚本重构 java 代码
【发布时间】:2013-02-21 06:46:48
【问题描述】:

是否有基于 Eclipse 的解决方案来使用脚本重构 Java 代码?

我已经阅读了 Eclipse 语言工具包,但它似乎意味着创建一个插件,这对于一次性操作来说听起来有点过头了。

是否有某种与脚本语言的绑定,或者至少有一种从 java 调用重构代码但没有插件的方法?

示例用例:我有一个使用 castor 生成的类的项目,我想迁移到 JAXB 2。这意味着对现有代码进行大量重构,这不能通过搜索和替换来完成,也不能通过正则表达式来完成,因为上下文敏感。

【问题讨论】:

    标签: java eclipse refactoring ltk


    【解决方案1】:

    当重构复杂时,我通常用Recoder写一个转换管道。这个工具的唯一缺点是它有时会破坏代码格式(例如移动 cmets,或添加/删除空格),但到目前为止它已经足够满足我的要求了。

    【讨论】:

    • 该链接在 2015 年 9 月 17 日有效,但 Recoder 的最后一个版本是在 2013 年(当我发布我的答案时,它是一个活跃的项目)。它很可能不支持 Java 8。
    【解决方案2】:

    Eclipse 提供了一些重构帮助。例如,如果您选择要重构的代码部分并右键单击,您将获得重构选项。您可以从中提取方法(我在重构时常用的方法)、提取接口、超类等。

    您还可以检查这些:

    http://www.eclipse.org/articles/article.php?file=Article-Unleashing-the-Power-of-Refactoring/index.html

    Eclipse: Most useful refactorings

    【讨论】:

    • 我知道 Eclipse 中的重构选项,我一直都在使用它,但有时我需要一些更可定制的东西,比如:将“object.addThing(thing)”转换为“object.getThings( ).add(thing)",仅当 object 是位于给定包中的类的实例时...
    猜你喜欢
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多