我们的系统将进行平台升级,包括用Java 6替换Java 1.4。
理想情况下,我们希望使用自动化工具在可能的情况下向代码中引入泛型和枚举,然后,显然,我们会检查更改。你有什么工具可以推荐吗?
答案 0 :(得分:6)
引入的自动化工具 代码的泛型和枚举 尽可能
这种工具被称为“程序员”。当它以完全自动化的形式出现时,你将失去工作(并且可能会把你的日子作为一个有趣的分心你的新机器人领主)。
说真的,这是方式超出可以自动完成的工作,尤其是枚举的引入。集合的泛型类型参数也许可以从上下文派生,但仅适用于简单情况。
答案 1 :(得分:5)
IntelliJ IDEA为您提供了传统遗产收集的特殊工具。
答案 2 :(得分:1)
迈克尔是正确的,因为这不能自动完成。鉴于此,您可以考虑采用分阶段方法,通过在此处将集合转换为正确的类型来开始生成API /接口(例如,在子系统之间)。您还可以添加断言来验证这些强制转换是否有效,然后您可以在测试后将其删除。
显然,转换并不理想,但这意味着您可以尽早更新API(假设这是一个基于API的系统),然后在以后“更正”内部。
答案 3 :(得分:1)
我不相信“泛化”旧代码库是一个好主意:
它不会提高性能,因为当您使用泛型时,就像使用具有显式类型转换的原始类型时一样,类型转换(在幕后)发生。
不太可能修复错误。可能已经找到并修复了因铸造到错误类型而导致的重大错误。
所以它唯一能做的就是让代码更具可读性。在缺点方面,您需要进行更改和测试,以及可能引入新错误的风险。