sea516
V2EX  ›  问与答

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

  •  
  •   sea516 · Apr 7, 2016 · 3472 views
    This topic created in 3874 days ago, the information mentioned may be changed or developed.

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

    22 replies  •  2016-04-07 17:01:40 +08:00
    kenshinhu
    kenshinhu
    Apr 7, 2016
    1
    重构之前得要做好单元测试吗
    sea516
    sea516
    OP
    Apr 7, 2016
    2
    没人给点建议么
    sea516
    sea516
    OP
    Apr 7, 2016
    3
    @kenshinhu 重构完了做单元测试吧
    finab
    finab
    Apr 7, 2016 via iPhone
    4
    @kenshinhu 需要全部重构的代码我相信做不了单元测试,😄
    anerevol
    anerevol
    Apr 7, 2016
    5
    1. 先根据老代码写各种文档,各种流程图时序图等。
    2. 先写好单元测试。
    3. 重构一小部分后马上要测试测试测试。
    4. 重构 100 %会引起新的问题的。
    jsonline
    jsonline
    Apr 7, 2016 via Android
    6
    那叫重构吗?那叫重写!
    jsonline
    jsonline
    Apr 7, 2016 via Android
    7
    重构必然是局部的。
    fwrq41251
    fwrq41251
    Apr 7, 2016
    8
    @sea516 肯定要先写单元测试啊。
    能自动化的自动化,用好 JDT 。
    popu111
    popu111
    Apr 7, 2016 via Android
    9
    想唱歌:“不过是从头再来~”请自行脑补旋律
    crazyxin1988
    crazyxin1988
    Apr 7, 2016
    10
    这就是出力不讨好的事情

    写好单元测试~ 就是这样子
    techmoe
    techmoe
    Apr 7, 2016
    11
    看工程多大吧
    otakustay
    otakustay
    Apr 7, 2016
    12
    先写 UT 再重构,不然你等着坑死自己
    另外一般我们称为重写
    audi
    audi
    Apr 7, 2016
    13
    太累的体验
    zwy100e72
    zwy100e72
    Apr 7, 2016 via iPad
    14
    必须写好单元测试啊
    不然怎么验证重构没改变代码功能
    3dwelcome
    3dwelcome
    Apr 7, 2016 via Android
    15
    每个码农必然的过程、代码多了、早晚要整理重构的。
    lecher
    lecher
    Apr 7, 2016 via Android
    16
    这种没有文档的重写就是拆炸弹,碰上这种一般不做替换,而是另开新系统做新需求,新需求用新技术,老的系统做需求封存,只在老系统做已经确定的需求,再加新需求都在新系统加。这么慢慢做一段时间,新系统可以逐步接收新业务的流量,逐步完成迁移。
    sea516
    sea516
    OP
    Apr 7, 2016
    17
    @anerevol 领导希望很快能看到重构的效果,整体重构的时间也不是我自己能安排的。
    sea516
    sea516
    OP
    Apr 7, 2016
    18
    @lecher 旧系统不足以支撑现在产品的需求,领导又希望能够看到能用的框架和技术
    iMouseWu
    iMouseWu
    Apr 7, 2016
    19
    最最最最蛋疼的是,重构完以后,QA 同学怎么测试,该测试那些功能? TDD 是一种很好的方式,但是还得看原代码的代码质量了,如果代码质量不是很好的话,写单元测试也是一件比较蛋疼的事情。
    @finab 是正解
    cuebyte
    cuebyte
    Apr 7, 2016
    20
    @sea516 拆分业务,先重构一部分,一步步来,一下子重构所有简直痴人说梦,新系统的健壮性也得不到检验。
    somnus
    somnus
    Apr 7, 2016
    21
    炒鸡酸爽,我重构了几个月..
    xenme
    xenme
    Apr 7, 2016 via iPhone
    22
    @iMouseWu 交给最终用户去测试吧。哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2097 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 13:00 · PVG 21:00 · LAX 05:00 · JFK 08:00
    ♥ Do have faith in what you're doing.