重構改善既有代碼的設計學習筆記——重構中的tips整理
原創
秋千不会坠
2019-02-14 20:04
重構原則
- 如果你發現自己需要爲程序添加一個特性,而代碼結構使你無法很方便地達成目的,那就先重構那個程序,使特性的添加比較容易,然後再添加特性
- 重構前,先檢查自己是否有一套可靠的測試機制,這些測試必須有自我檢驗能力
- 重構技術就是以微笑的步伐修改程序。如果你犯下錯誤,很容易便可發現它
- 任何一個傻瓜都能寫出計算機可以理解的代碼。唯有寫出人類容易理解的代碼,纔是優秀的程序員
- 重構(名詞形式):對軟件內部結構的一種調整,目的是在不改變軟件可觀察行爲的前提下,提高其可理解性,降低其修改成本
- 重構(動詞形式):使用一系列重構手法,在不改變軟件可觀察行爲的前提下,調整其結構
- 事不過三,三則重構
- 不要過早發佈結構。請修改你的代碼所有權政策,使重構更順暢
- 當你感覺需要撰寫註釋時,請先嚐試重構,試着讓所有註釋都變得多餘
測試相關:
- 確保所有測試都完全自動化,讓他們檢查自己的測試結果
- 一套測試就是一個強大的bug偵測器,能夠大大縮減查找bug所需要的時間
- 頻繁地運行測試。每次編譯請把測試也考慮進去——每天至少執行每個測試 一次
- 每當你收到bug報告,請先寫一個單元測試來暴露這個bug
- 編寫未臻完善的測試並實際運行,好過對完美測試的無盡等待
- 考慮可能出錯的邊界條件,把測試火力集中在那兒
- 當事情被認爲應該會出錯時,別忘了檢查是否拋出了預期的異常
= 不要因爲測試無法捕捉所有bug就不寫測試,因爲測試的確可以捕捉到大多數bug