作者alihue (wanda wanda)
看板Soft_Job
标题Re: [讨论] 前人的code 後人翻写的机率高吗?
时间Mon Sep 24 21:23:23 2018
会重构的专案最後都是同一种原因:
降低维护成本
诸如
1. 重构杂乱无章的偷渡资料
2. 每次一加栏位可能会从头坏到尾
3. ...
会重构的契机通常是随着专案越来越肥大,小需求的开发时间越来越长
重构由小到大,
从重复使用的抽出,
到重新制定 interface / architechture / 前後端分离都有
但重构前请记得为重要的部分写 unit test,越完整越好,
至少重构完可以比较不用怕哪个环节出差错。
如果不打算写 unit test,就请你让他乖乖在那就好,不要动它
否则你就只是在把坑挖得更深
另外重构很需要好的 IDE,
至少要可以看到此 function 的所有 references/implementation/hierarchy
也可以砍掉完全没人用的 object / property 等
//------
有另外一种人叫做菜逼八,
重构只是因为太菜看不懂 code,想要自己重头写
或是想要盲目用最新技术重写
重构前请检视自己是哪种人
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.228.210.202
※ 文章网址: https://webptt.com/cn.aspx?n=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
1F:推 kurtsgm: 推最後几句...盲目想翻code常见於刚毕业的小朋友 09/24 21:31
2F:→ kurtsgm: (其实我年轻的时候也动过类似念头 ㄎㄎ) 09/24 21:31
3F:推 kewang: 看到「要有很好的 IDE 」突然想到,如果是 java 用一堆 re 09/24 21:44
4F:→ kewang: flection 的话,重构要特别注意这块啊啊啊! 09/24 21:44
5F:推 vi000246: 有那麽好重构的话银行就不会用古老语言了 09/24 21:46
感觉还是看公司风气,
像是证交所应该一天到晚都随着改法规在改扣,
最近又要改成即时撮合,
应该也是有经历过重构的日子
※ 编辑: alihue (114.136.141.252), 09/24/2018 21:50:14
6F:→ MOONY135: Trace完之後我就乖乖放弃了 09/24 22:15
7F:推 tennyleaz: 以前把一个VC6的一个功能用C#重写,用起来神清气爽很多 09/24 23:11
8F:推 banqhsia: 虽然要重构前要先加test,实际上旧系统如果这麽好测试的 09/24 23:20
9F:→ banqhsia: 话,後人通常也不会想重构… 耦合度太高,想重构发现整 09/24 23:21
10F:→ banqhsia: 个系统都要改… 09/24 23:21
11F:→ banqhsia: 应该说,如果非常 testable 的话,通常也不需要重构… 09/24 23:21
12F:→ bndan: 推最後4句...有些时候 在没完备测试支援下 旧的程式可靠度 09/25 13:08
13F:→ bndan: 至少有时间的检验... 09/25 13:09
14F:→ l3161316: 重写跟重构是两回事吧 09/26 19:10
15F:推 Sex5F: 科科过去我也是小白看不懂 10/16 11:21
16F:→ Sex5F: 现在烂code照样能改 10/16 11:22
17F:→ Sex5F: 我没说code写的好喔,高手强在烂code也能改 10/16 11:22