>當(dāng)你覺得代碼重復(fù)出現(xiàn)在程序中的時候,就應(yīng)該重構(gòu)了。
>粘貼復(fù)制的代碼越少,你的系統(tǒng)越穩(wěn)定。
>接手新的工程的時候,等你無法重構(gòu)的時候再考慮重寫。如果你確實有必要進行重寫,我還是建議你把代碼盡可能的重構(gòu)。因為重構(gòu)之后的系統(tǒng),能夠讓你更輕易的重寫,又最大限度了保留以前可用的業(yè)務(wù)代碼。
>學(xué)會單元測試,培養(yǎng)重構(gòu)意識。
>單元測試有什么要求?就是要求你要把每個方法都弄成盡量可以測試的。盡量讓你的方法變成是可測試的,就是培養(yǎng)你重構(gòu)意識的利器。在你要求把方法變成可測試的過程,你就會發(fā)現(xiàn)你必須得不斷的修改你的方法,讓它的職責(zé)盡量單一,讓它盡量的與上下文無關(guān),讓它盡可能通過方法參數(shù)的輸入輸出就能完成相關(guān)的功能,讓依賴的類都盡量改為接口而不是實例。最終,你就會發(fā)覺,這就是重構(gòu)!而且是在不知不覺中,你重構(gòu)的功力就會大大提升,你編程的水平也會大大提升!