簡體   English   中英

從Java 1.4到Java 6:任何更新遺留代碼的自動化工具?

[英]From Java 1.4 to Java 6: any automated tool to update legacy code?

我們的系統將進行平台升級,包括用Java 6替換Java 1.4。

理想情況下,我們希望使用自動化工具在可能的情況下向代碼中引入泛型和枚舉,然后,顯然,我們會檢查更改。 你有什么工具可以推薦嗎?

一種自動化工具,可以盡可能地將泛型和枚舉引入代碼中

這種工具被稱為“程序員”。 當它以完全自動化的形式提供時,你將失去工作(並且可能將你的日子作為一個有趣的分心你的新機器人領主)。

說真的,這是方式, 方法超出了可以自動完成,特別是引進枚舉。 集合的泛型類型參數也許可以從上下文派生,但僅適用於簡單情況。

IntelliJ IDEA為您提供了用於生成遺留系列的特殊工具。

邁克爾是正確的,因為這不能自動完成。 鑒於此,您可以考慮采用分階段方法,通過在此處將集合轉換為正確的類型來開始生成API /接口(例如,在子系統之間)。 您還可以添加斷言來驗證這些強制轉換是否有效,然后您可以在測試后將其刪除。

顯然,轉換並不理想,但這意味着您可以盡早更新API(假設這是一個基於API的系統),然后再“更正”內部。

我不相信“泛化”舊代碼庫是一個好主意:

  • 它不會提高性能,因為當您使用泛型時,就像使用帶有顯式類型轉換的原始類型時一樣,類轉換(在幕后)發生。

  • 它不太可能修復錯誤。 可能已經找到並修復了由於轉換為錯誤類型而導致的重大錯誤。

所以它唯一能做的就是讓代碼更具可讀性。 在缺點方面,您需要進行更改和測試,以及可能引入新錯誤的風險。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM