从Java 1.4到Java 6:任何更新遗留代码的自动化工具?

时间:2010-02-23 12:24:32

标签: java

我们的系统将进行平台升级,包括用Java 6替换Java 1.4。

理想情况下,我们希望使用自动化工具在可能的情况下向代码中引入泛型和枚举,然后,显然,我们会检查更改。你有什么工具可以推荐吗?

4 个答案:

答案 0 :(得分:6)

  

引入的自动化工具   代码的泛型和枚举   尽可能

这种工具被称为“程序员”。当它以完全自动化的形式出现时,你将失去工作(并且可能会把你的日子作为一个有趣的分心你的新机器人领主)。

说真的,这是方式超出可以自动完成的工作,尤其是枚举的引入。集合的泛型类型参数也许可以从上下文派生,但仅适用于简单情况。

答案 1 :(得分:5)

IntelliJ IDEA为您提供了传统遗产收集的特殊工具。

答案 2 :(得分:1)

迈克尔是正确的,因为这不能自动完成。鉴于此,您可以考虑采用分阶段方法,通过在此处将集合转换为正确的类型来开始生成API /接口(例如,在子系统之间)。您还可以添加断言来验证这些强制转换是否有效,然后您可以在测试后将其删除。

显然,转换并不理想,但这意味着您可以尽早更新API(假设这是一个基于API的系统),然后在以后“更正”内部。

答案 3 :(得分:1)

我不相信“泛化”旧代码库是一个好主意:

  • 它不会提高性能,因为当您使用泛型时,就像使用具有显式类型转换的原始类型时一样,类型转换(在幕后)发生。

  • 不太可能修复错误。可能已经找到并修复了因铸造到错误类型而导致的重大错误。

所以它唯一能做的就是让代码更具可读性。在缺点方面,您需要进行更改和测试,以及可能引入新错误的风险。