V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
sea516
V2EX  ›  问与答

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

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

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

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

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