我的經理從未做過重構。我曾閱讀Martin Fowler的書重構,並將其技巧應用於模塊。所以他希望我制定一個重構現有項目的計劃。該項目沒有單元測試,我的隊友也不知道重構。他堅持要我制定一個進程的時間表,至於修改哪個文件,需要多長時間,最終結果,將提取多少種方法...如何制定重構計劃?
我推薦他在how-do-you-refactor的提示,但他想要一個詳細的計劃。
我的經理從未做過重構。我曾閱讀Martin Fowler的書重構,並將其技巧應用於模塊。所以他希望我制定一個重構現有項目的計劃。該項目沒有單元測試,我的隊友也不知道重構。他堅持要我制定一個進程的時間表,至於修改哪個文件,需要多長時間,最終結果,將提取多少種方法...如何制定重構計劃?
我推薦他在how-do-you-refactor的提示,但他想要一個詳細的計劃。
沒有單元測試,你不能充滿信心地重構。所以從那裏開始。不要着手「單元測試所有內容」或「重構所有內容」。無論你在哪裏,只要悄悄地開始。
最終,您所使用的代碼應該明顯更清晰,這意味着它會更容易(更便宜)具有更少的錯誤並且便於維護重用。這些是你的經理關心的事情。
我已經開始編寫單元測試。困擾我的是許多類或方法的責任太多,所以我寫的單元測試需要我知道細節或許多副作用,我不能僅僅基於它們測試方法返回值。 – Vacker
然後,我強烈建議_通過Michael Feathers有效使用Legacy Code_。 –
這是一個討論問題,對[程序員](http://programmers.stackexchange.com)來說確實更合適。投票移動它,而不是。 –