看板 Soft_Job 關於我們 聯絡資訊
會重構的專案最後都是同一種原因: 降低維護成本 諸如 1. 重構雜亂無章的偷渡資料 2. 每次一加欄位可能會從頭壞到尾 3. ... 會重構的契機通常是隨著專案越來越肥大,小需求的開發時間越來越長 重構由小到大, 從重複使用的抽出, 到重新制定 interface / architechture / 前後端分離都有 但重構前請記得為重要的部分寫 unit test,越完整越好, 至少重構完可以比較不用怕哪個環節出差錯。 如果不打算寫 unit test,就請你讓他乖乖在那就好,不要動它 否則你就只是在把坑挖得更深 另外重構很需要好的 IDE, 至少要可以看到此 function 的所有 references/implementation/hierarchy 也可以砍掉完全沒人用的 object / property 等 //------ 有另外一種人叫做菜逼八, 重構只是因為太菜看不懂 code,想要自己重頭寫 或是想要盲目用最新技術重寫 重構前請檢視自己是哪種人 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.210.202 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1537795405.A.81E.html ※ 編輯: alihue (36.228.210.202), 09/24/2018 21:26:59 ※ 編輯: alihue (36.228.210.202), 09/24/2018 21:28:07
kurtsgm: 推最後幾句...盲目想翻code常見於剛畢業的小朋友 09/24 21:31
kurtsgm: (其實我年輕的時候也動過類似念頭 ㄎㄎ) 09/24 21:31
kewang: 看到「要有很好的 IDE 」突然想到,如果是 java 用一堆 re 09/24 21:44
kewang: flection 的話,重構要特別注意這塊啊啊啊! 09/24 21:44
vi000246: 有那麼好重構的話銀行就不會用古老語言了 09/24 21:46
感覺還是看公司風氣, 像是證交所應該一天到晚都隨著改法規在改扣, 最近又要改成即時撮合, 應該也是有經歷過重構的日子 ※ 編輯: alihue (114.136.141.252), 09/24/2018 21:50:14
MOONY135: Trace完之後我就乖乖放棄了 09/24 22:15
tennyleaz: 以前把一個VC6的一個功能用C#重寫,用起來神清氣爽很多 09/24 23:11
banqhsia: 雖然要重構前要先加test,實際上舊系統如果這麼好測試的 09/24 23:20
banqhsia: 話,後人通常也不會想重構… 耦合度太高,想重構發現整 09/24 23:21
banqhsia: 個系統都要改… 09/24 23:21
banqhsia: 應該說,如果非常 testable 的話,通常也不需要重構… 09/24 23:21
bndan: 推最後4句...有些時候 在沒完備測試支援下 舊的程式可靠度 09/25 13:08
bndan: 至少有時間的檢驗... 09/25 13:09
l3161316: 重寫跟重構是兩回事吧 09/26 19:10
Sex5F: 科科過去我也是小白看不懂 10/16 11:21
Sex5F: 現在爛code照樣能改 10/16 11:22
Sex5F: 我沒說code寫的好喔,高手強在爛code也能改 10/16 11:22