Re: [討論] 前人的code 後人翻寫的機率高嗎?

作者: 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 等
//
作者: kurtsgm   2018-09-24 21:31:00
推最後幾句...盲目想翻code常見於剛畢業的小朋友(其實我年輕的時候也動過類似念頭 ㄎㄎ)
作者: kewang (652公車)   2018-09-24 21:44:00
看到「要有很好的 IDE 」突然想到,如果是 java 用一堆 reflection 的話,重構要特別注意這塊啊啊啊!
作者: vi000246 (Vi)   2018-09-24 21:46:00
有那麼好重構的話銀行就不會用古老語言了
作者: MOONY135 (談無慾)   2018-09-24 22:15:00
Trace完之後我就乖乖放棄了
作者: tennyleaz (tenny)   2018-09-24 23:11:00
以前把一個VC6的一個功能用C#重寫,用起來神清氣爽很多
作者: banqhsia (BEN)   2018-09-24 23:20:00
雖然要重構前要先加test,實際上舊系統如果這麼好測試的話,後人通常也不會想重構… 耦合度太高,想重構發現整個系統都要改…應該說,如果非常 testable 的話,通常也不需要重構…
作者: bndan (seed)   2018-09-25 13:08:00
推最後4句...有些時候 在沒完備測試支援下 舊的程式可靠度至少有時間的檢驗...
作者: l3161316 (口水)   2018-09-26 19:10:00
重寫跟重構是兩回事吧
作者: Sex5F (HTC)   2018-10-16 11:21:00
科科過去我也是小白看不懂現在爛code照樣能改我沒說code寫的好喔,高手強在爛code也能改

Links booklink

Contact Us: admin [ a t ] ucptt.com