如果確定要重構,那么要把目標明確下來,也就是重構的邊界條件,怎么才算是“完成”了重構,目標要有數據量化,或者有能夠測試的辦法。這也是一個需求分析的過程,如果需求不明確,那么規格說明書沒法寫清楚,負責重構的團隊也沒有明確的目標,不能以重構的時間或者主觀的判斷為結束的依據。前幾天和一朋友聊天,他最近在負責系統的性能優化,也要做一些重構的事情,開始的時候團隊的目標不明確,大家不知道優化到什么程度,所以不敢下手。如果目標是提高10%,那么可以從細節處著手;如果是提高50%,那可能要搞大動作才能實現了。后來目標明確之后,團隊才找到合適的辦法。
## 檢查清單:
* 重構的目標可以量化,或者說可以測試嗎?
* 重構完成的標準是什么?得到業務部門或者領導的認可了嗎?