#
你在進行性能分析時便有較細的粒度(granularity)
[良好的分解方式](well-factored manner)來構造自己的程序
[事先設計](upfront design)可以助我節省回頭工的高昂成本。
checked exception(可控制異常)轉換成一個unchecked exception(不可控制異常)
Don Roberts給了一條準則:第一次做某件事時只管去做;第二次做類似的事會產生反感,但無論如何還是做了;第三次再做類似的事,你就應該重構。
事不過三,三則重構。(Three strikes and you refactor.)
添加功能時-并重構
修補錯誤時-并重構
復審代碼時-并重構
使用重構技術開發軟件時,你把自己的時間分配給兩種截然不同的行為:[添加新功能]和[重構]。添加新功能時,你不應該修改既有代碼,只管添加新功能。通
過測試(并讓測試正常運行),你可以衡量自己的工作進度。重構時你就不能再添加功能,只管改進程序結構。此時你不應該添加任何測試(除非發現先前遺漏的任
何東西),只在絕對必要(用以處理借口變化)時才修改測試。
這個例子給你上的最重要一課是[重構的節奏]:測試、小修改、測試、小修改、測試、小修改......。正是這種節奏讓重構得以快速而安全地前進。
|