將函數本體替換爲另外一個算法。算法
隨着對問題有了更多的理解,你每每會發現,在原先的作法以外,有更簡單的解決方案,此時你就須要改變原先的算法。函數
有時候你會想要修改原先的算法,讓它作一件與原先略有差別的事。這時候你也能夠先把原先的算法替換爲一個較易修改的算法,這樣後續的修改會輕鬆不少。測試
在使用這項重構手法以前,請先肯定本身已經儘量分解了原先函數。替換一個巨大而複雜的算法是很是困難的,只有先將它分解爲較簡單的小型函數,而後才能頗有把握地進行算法替換工做。spa
1. 準備好另外一個(替換用)算法,讓它經過編譯。調試
2. 針對現有測試,執行上述的新算法。若是結果與本來結果相同,重構結束。io
3. 若是測試結果不一樣於原先,在測試和調試過程當中,以舊算法爲比較參照標準。編譯
à對於每一個測試用例,分別以新舊兩種算法執行,並觀察二者結果是否相同。這能夠幫助你看到哪個測試用例出現麻煩,以及出現了怎樣的麻煩。重構