最佳化重構
2004 年 9 月 2 日
如果您進行變更以提升程式效能,這算是重構嗎?
我將最佳化和重構視為兩件不同的事,儘管它們經常使用相同的轉換,而且您對程式執行的特定轉換可能是兩者兼具。
我將它們視為不同的原因在於它們有不同的目的。您進行重構是為了讓程式碼更容易理解,您進行最佳化是為了讓程式碼執行得更快。引入變數(例如)可以出於任一目的,但根據您執行的步驟,您主要在執行其中一項。當您進行重構時,您會思考如何讓程式碼更清晰。您對其是否成功的判斷是根據您(主觀)評估變更是否讓程式更容易理解。當您進行最佳化時,您會思考效能。您應該在變更前後使用剖析器,以確保您的最佳化確實有助於效能。如果情況對效能至關重要,您應該記錄您的變更,以便在您的環境(編譯器、VM 等)稍後變更時重新測試其效能。
因此,儘管兩者相似,而且共用許多轉換,但我將它們視為不同,因為它們的目的不同。