作者:
alihue (wanda wanda)
2018-09-24 21:23:23會重構的專案最後都是同一種原因:
降低維護成本
諸如
1. 重構雜亂無章的偷渡資料
2. 每次一加欄位可能會從頭壞到尾
3. ...
會重構的契機通常是隨著專案越來越肥大,小需求的開發時間越來越長
重構由小到大,
從重複使用的抽出,
到重新制定 interface / architechture / 前後端分離都有
但重構前請記得為重要的部分寫 unit test,越完整越好,
至少重構完可以比較不用怕哪個環節出差錯。
如果不打算寫 unit test,就請你讓他乖乖在那就好,不要動它
否則你就只是在把坑挖得更深
另外重構很需要好的 IDE,
至少要可以看到此 function 的所有 references/implementation/hierarchy
也可以砍掉完全沒人用的 object / property 等
//
推最後幾句...盲目想翻code常見於剛畢業的小朋友(其實我年輕的時候也動過類似念頭 ㄎㄎ)
作者:
kewang (652公車)
2018-09-24 21:44:00看到「要有很好的 IDE 」突然想到,如果是 java 用一堆 reflection 的話,重構要特別注意這塊啊啊啊!
以前把一個VC6的一個功能用C#重寫,用起來神清氣爽很多
雖然要重構前要先加test,實際上舊系統如果這麼好測試的話,後人通常也不會想重構… 耦合度太高,想重構發現整個系統都要改…應該說,如果非常 testable 的話,通常也不需要重構…
作者:
bndan (seed)
2018-09-25 13:08:00推最後4句...有些時候 在沒完備測試支援下 舊的程式可靠度至少有時間的檢驗...
作者:
Sex5F (HTC)
2018-10-16 11:21:00科科過去我也是小白看不懂現在爛code照樣能改我沒說code寫的好喔,高手強在爛code也能改