daily Programming: 一姐重構
Tags: daily-programming, 讀書會
Whay? Why? When? How?
- 提高可理解性
- 降低修改成本
- 在既有的設計中改善它!
- 每一次重構都是非常非常小範圍,重構不可以造成
code
無法運作的狀態!
Two Hats of Programming
Refactoring V.S. Adding Function You can only wear one hat at a time!!!
重點
- 改善軟體設計
- 讓軟體更容易了解
- 幫忙找出
bug
- 提升
coding
速度
When??
-
預備性重構 Preparatory Refactoring
-
理解性重構
-
打掃性重構
For each desired change, make the chnges easy, then make the easy change.
重構的難題
- 減緩新功能的完整速度
- code ownership
- rename function
- 分支
- 測試
- 老舊的 code
YAGNI(You aten’t going to need it)
a programmer should not add functionality until deemed necessary