重构全部代码是怎样的体验

2016-04-07 11:33:53 +08:00
 sea516

最近在重构公司的代码,老业务用新框架。所有之前实现的需求,没有文档,从代码里看,然后用新框架实现。现在在熟悉新框架,如何调整心态或者规划,让这次重构会顺利进行

2700 次点击
所在节点    问与答
22 条回复
kenshinhu
2016-04-07 11:37:02 +08:00
重构之前得要做好单元测试吗
sea516
2016-04-07 11:37:06 +08:00
没人给点建议么
sea516
2016-04-07 11:37:39 +08:00
@kenshinhu 重构完了做单元测试吧
finab
2016-04-07 11:43:52 +08:00
@kenshinhu 需要全部重构的代码我相信做不了单元测试,😄
anerevol
2016-04-07 11:44:19 +08:00
1. 先根据老代码写各种文档,各种流程图时序图等。
2. 先写好单元测试。
3. 重构一小部分后马上要测试测试测试。
4. 重构 100 %会引起新的问题的。
jsonline
2016-04-07 11:44:35 +08:00
那叫重构吗?那叫重写!
jsonline
2016-04-07 11:44:56 +08:00
重构必然是局部的。
fwrq41251
2016-04-07 11:45:03 +08:00
@sea516 肯定要先写单元测试啊。
能自动化的自动化,用好 JDT 。
popu111
2016-04-07 11:45:53 +08:00
想唱歌:“不过是从头再来~”请自行脑补旋律
crazyxin1988
2016-04-07 11:45:54 +08:00
这就是出力不讨好的事情

写好单元测试~ 就是这样子
techmoe
2016-04-07 11:47:59 +08:00
看工程多大吧
otakustay
2016-04-07 11:54:59 +08:00
先写 UT 再重构,不然你等着坑死自己
另外一般我们称为重写
audi
2016-04-07 11:58:15 +08:00
太累的体验
zwy100e72
2016-04-07 12:13:16 +08:00
必须写好单元测试啊
不然怎么验证重构没改变代码功能
3dwelcome
2016-04-07 12:19:07 +08:00
每个码农必然的过程、代码多了、早晚要整理重构的。
lecher
2016-04-07 12:54:44 +08:00
这种没有文档的重写就是拆炸弹,碰上这种一般不做替换,而是另开新系统做新需求,新需求用新技术,老的系统做需求封存,只在老系统做已经确定的需求,再加新需求都在新系统加。这么慢慢做一段时间,新系统可以逐步接收新业务的流量,逐步完成迁移。
sea516
2016-04-07 13:18:43 +08:00
@anerevol 领导希望很快能看到重构的效果,整体重构的时间也不是我自己能安排的。
sea516
2016-04-07 13:19:49 +08:00
@lecher 旧系统不足以支撑现在产品的需求,领导又希望能够看到能用的框架和技术
iMouseWu
2016-04-07 13:51:36 +08:00
最最最最蛋疼的是,重构完以后,QA 同学怎么测试,该测试那些功能? TDD 是一种很好的方式,但是还得看原代码的代码质量了,如果代码质量不是很好的话,写单元测试也是一件比较蛋疼的事情。
@finab 是正解
cuebyte
2016-04-07 16:09:38 +08:00
@sea516 拆分业务,先重构一部分,一步步来,一下子重构所有简直痴人说梦,新系统的健壮性也得不到检验。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/269193

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX