今天偶爾逛到Martin Fowler的Blog,在他的Blog中看到了一篇題爲“Refactoring Malapropism”的文章。講的是有關“Refactoring”的誤用,同時也討論了“Refactoring”一詞的界定問題。很淺顯,卻覺得頗有道理。我覺得,其文章的要旨是澄清了Refactoring和Restructuring的區別。
針對一個不日內即將破敗的系統的Refactoring不能稱其爲Refactoring,對於文檔的所謂Refactoring也不能稱其爲Refactoring,而應稱爲Restructuring。
一般意義上的Restructuring代表了“any rearrangement of parts of a whole”;Refactoring則屬於專項技術,特定的Restructuring,採用了小幅的行爲保持式的轉變。
結合Martin Fowler在其“Refactoring”一書中對Refactoring的定義,上述觀點不難理解。看來大師在這方面還是很固執的:)
BTW:There may be other good techniques for restructuring, but they are different —— 還有其他的Restructuring技術,這到是一件很讓我好奇的事