本文用eclipse的自動重構(gòu)功能對一個程序?qū)嵗M行重構(gòu),目的是探索Eclipse自動重構(gòu)可以在多大程度上輔助重構(gòu)這個過程。程序?qū)嵗褂谩禦efactoring:Improving the Design of Existing Code》一書中的例子。
Eclipse的自動重構(gòu)功能能夠很好地支持各種程序元素的重命名,并自動更新相關(guān)的引用。Eclipse能夠支持方法、字段在類之間移動,并自動更新引用。Eclipse較好地支持內(nèi)聯(lián)字段、函數(shù)的更新替換。Eclipse較好地支持抽取方法、變量等程序元素。
重構(gòu)的過程是一個不斷嘗試和探索的過程。Eclipse的重構(gòu)支持撤銷和重做,并且能夠預(yù)覽重構(gòu)結(jié)果,這些是很實用的功能。
Eclipse的重命名、抽取方法、移動、內(nèi)聯(lián)功能、更改方法特征符等代碼結(jié)構(gòu)級別的重構(gòu)方法,是比較成熟同時也值得使用的功能。至于設(shè)計結(jié)構(gòu)上的重構(gòu),eclipse還不能很好地支持。但是作者相信,自動重構(gòu)的理念應(yīng)該是"工具輔助下的重構(gòu)工作",人仍然承擔(dān)大部分重構(gòu)工作。
一、預(yù)備工作
本文使用《Refactoring:Improving the Design of Existing Code》一書第一章的例子。重構(gòu)前的代碼及每一步重構(gòu)后的代碼見附件。讀者最好配合《Refactoring:Improving the Design of Existing Code》一書閱讀本文。
Eclipse使用如下版本:
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com