重构,还是修修补补? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Mac
V2EX    问与答

重构,还是修修补补?

  •  
  •   Mac 2014-10-17 00:17:16 +08:00 3218 次点击
    这是一个创建于 4082 天前的主题,其中的信息可能已经有所发展或是发生改变。
    非IT公司,服务行业,4月开始公司上了一个新项目,操作各种忙,超长加班2周后,我开始着手用PHP构建了一个内部应用。使得业务流程开始便捷起来,大家也不天天加班了。由于当时比较匆忙,人也处于超长加班的极限,很多结构上的问题没有考虑清楚。到今天为止,发现增加各种功能遇到的阻力越来越大,表字段加的越来越多,心里也越来越没底。

    操作人员的感觉是应用越来越便捷,但我心里很清楚,目前利用这个不成熟的框架搭建起来的东西实质上是很容易坍塌的,比如有些内容我用JQUERY在前端直接传递变量让LABEL直接可以写数据库,且并没加权限限制是很容易导致数据混乱的。

    在这样的情况下,我是继续修补现在的内容,还是彻底重构一个新的。重构意味着流程会向好的方向发展,但操作适应的时间会增加,也容易出现问题。

    纠结啊。
    6 条回复    2014-10-17 18:37:49 +08:00
    kmvan
        1
    kmvan  
       2014-10-17 00:32:32 +08:00
    按照你的描述,这将会是一项十分艰辛的工程。应该不能算是重构,算是新建吧。
    我认为,没有出现难以修复的问题前,还是不要”新建“好。除非,你的团队能力充足,不然会累得想死
    ldbC5uTBj11yaeh5
        2
    ldbC5uTBj11yaeh5  
       2014-10-17 00:34:16 +08:00 via iPhone
    别急着重构,抛开代码上好恶,等一段时间再看。
    那时如果时机合适并且你还有重构的动力的话,再动手。
    这一段时间可以先附带总结梳理需求,推敲设计。
    msg7086
        3
    msg7086  
       2014-10-17 00:45:23 +08:00
    试试测试保护开发……
    PP
        4
    PP  
       2014-10-17 07:45:49 +08:00 via iPad   1
    这不应该是您的决定。同时,您可以用更好的方式来处理这件事。比如,先写几份文档,包括基本的现状描述、问题分析和风险评估,加上标题提到的重构与修补两种解决方案,列出不同的时间、人力、财务等需求,如果能计算出具体的财务收益就更好了,然后将上述文件呈递给公司领导。如果公司选择重构,那么恭喜您,您有机会和领导讨论一下晋升和加薪的事情了。
    coldwinds
        5
    coldwinds  
       2014-10-17 08:41:33 +08:00
    One man?
    harrychuh
        6
    harrychuh  
       2014-10-17 18:37:49 +08:00 via Android
    新建一个文件夹,重命名为v2,然后在这个文件夹里,或修修补补或重构,随你,新版完成了,无缝切换到新版,完成不了,继续旧版,有什么问题吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1328 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:03 PVG 01:03 LAX 09:03 JFK 12:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86