1

我有大量使用 XXX 类的 Java 代码。随着时间的推移,类的含义发生了变化,名称不再合适。为了使代码更具可读性,我想将类的名称更改为 YYY。

一种选择是一次性编辑所有文件并将XXX更改为YYY,但类的实际名称不是唯一的——还有其他同名的类,不同的包——所以我需要看代码. 我希望能够进行一些更改,测试它是否正确,然后再更改一些,测试更多等。在此过渡期间,我希望能够交替使用 YYY 和 XXX。最终我会消除XXX。

我需要的是一个“别名”概念,我可以在其中制作 YYY 和 XXX 的别名,但 Java 没有这个。

我可以使用所有相同的构造函数和方法使 YYY 成为 XXX 的子类。这将在变量声明为 XXX 并且我分配一个 YYY 类型的值的情况下正常工作。它也适用于方法参数为 XXX 并且我传递 YYY 的情况。但是当参数声明为 YYY 并且我有一个 XXX 值要发送时,它不会反过来工作。

我可以将 YYY 注入到继承中,以便 XXX 扩展 YYY,但我遇到了与上面相同的问题:在混合使用 XXX 声明和 YYY 值的代码中存在问题。

过渡时间将需要几个月的时间。在这段时间里,我不关心性能或效率,我只需要它编译和运行足够正确以进行测试。 对于允许在 Java 代码主体中增量更改类名的最佳实践有什么建议吗?

更新

下面的答案是,虽然在 Java 中没有办法做到这一点,但也应该没有理由这样做。我跟进安装和重构代码,并在这篇博文中写下了经验:不要忍受糟糕的名字

4

1 回答 1

3

使用诸如Eclipse之类的 IDE并使用其重构工具来重命名该类。这将在使用它的任何地方自动更改它,更新导入等。

于 2013-02-09T16:50:54.753 回答