什么时候选择重组?重组和不重组的区别一定要知道!

二八财经

说句掏心窝子的话,刚开始搞那个给自家小店用的库存统计和分销小工具时,我压根儿没想过什么“重组”不重组。

什么时候选择重组?重组和不重组的区别一定要知道!

我当时就是一根筋,老板娘催得紧,说是赶紧把东西弄出来用,别浪费时间。那段时间,我完全就是为了“跑起来”而干活。能用就行,能实现功能就行,结构什么的,管它去死。我记得我那会儿用了差不多一个星期,每天都睡四五个小时,硬是把一个订单录入、库存扣减、报表导出的“麻雀虽小五脏俱全”的系统给“堆”了出来,我们还得意洋洋地把它叫做“V1.0极速版”。

它就这么磕磕绊绊地跑了大半年,问题就跟雪球一样越滚越大。

什么时候选择重组?我的血泪教训告诉你答案。

系统跑了快一年,我们开始遇到真正的麻烦了。最开始是小问题,比如想给订单加一个“物流跟踪”的字段,我发现我要改动起码七八个文件,动一个地方,另外两个地方就莫名其妙地崩了。那感觉,就像是拆东墙补西墙,你越补,墙塌得越快。

后来我们的速度彻底被卡死了。加一个小功能,别人可能半天搞定,我这儿得拖上两天,其中一天半的时间都用来给以前的烂摊子“擦屁股”和“救火”了。最让我受不了的是,每次系统出个岔子,同事和老板娘都跑过来问我,搞得我像是技术部的罪人。

那段时间,我感觉我不是在写新代码,我就是在给一堆已经坏掉的电路板子打补丁,精神压力特别大。终于有一天晚上,我对着屏幕里那些连我自己都看不懂的变量名和一坨坨挤在一起的函数,狠狠地拍了下桌子:

不能再这样下去了,必须停下来,彻底推倒重来!

这就是我自己的亲身经历总结出来的,关于“什么时候选择重组”的答案:

  • 当你发现你每天大部分时间都在修旧的、莫名其妙的bug,而不是在开发新东西的时候。
  • 当你加入任何一点点新功能,都像是在一个随时会爆炸的房子里埋雷的时候。
  • 当你自己都开始害怕动自己的代码,生怕它“不高兴”的时候。

一旦有上面这些感觉,别犹豫,选择重组,选择大扫除。

重组和不重组的区别,就是地狱和天堂的区别

我拉上了我的一个搭档,告诉他:“我们停止一切新功能开发,用两个星期的时间,把这个老系统完完全全地重新整理一遍。”

我们做的事情很简单,一点也不花里胡哨:

  • 我们把所有跟“数据读写”有关的核心东西,全部拆出来,让它们只管读写,别的什么都不掺和。
  • 我们把那些以前乱七八糟的、自己看了都懵的中文拼音变量名,全部按照一套简单的规则给

    统一改成了能看得懂的大白话

  • 以前一个文件管七八个功能的坏习惯,我们

    果断地切割成了一个个独立的小模块

    ,让它们各司其职。
  • 我们还清理掉了大概有三分之一的

    “死代码”

    ,就是那些以前写了但是从来没用上的垃圾。

现在再回过头看,重组和不重组,那真是地狱和天堂的区别。

不重组的时候,我们每天都活在恐惧里,不敢碰代码,新功能想都不敢想。整个团队的情绪都是低落的,因为每天都在重复机械性的救火工作,效率极低,而且风险巨大。

重组之后?我们现在要加一个“客户评价”功能,以前可能要花两天,现在我敢说,一个下午就能搞定。新代码往里面放,就像是给一个干净整齐的抽屉里放新衣服,哪里是哪里,清清楚楚。同事们现在遇到问题,也能自己很快定位到是哪个小模块出了问题,不用再互相推诿扯皮。

说白了,重组就是你给自己建了一个坚实的、干净的、有条理的地基。虽然暂时停工了一段时间,但你后续再往上盖五层楼、十层楼,你心里都有底。不重组?你就是在沙滩上盖摩天大楼,迟早要塌。重组不能拖,一拖就是债,欠得越多,还债的时候就越痛苦。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,62人围观)

还没有评论,来说两句吧...