我有大量使用 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 代码主体中增量更改类名的最佳实践有什么建议吗?
使用 IDE(例如 Eclipse)并使用其重构工具来重命名类。这将在使用它的任何地方自动更改它,更新导入等。