他原来想🚺着一票就干到财富自由,完全是有点异想天👮🌍♙开了。
“柳工,我的笔记💁🎽本。”汪永丰看到启明星的人离去👮🌍♙,才松了口气。
这些人的气场好💨🔕🀟大,他看的都有点憷,也♎不知道他的老板,是怎么在这种气场🏄下,谈笑风生的。
柳诚来到了汪永丰的电脑前,指着他写的一段代码说道:“你看这里🛜🝍,你就有九处嵌套,过一段🗺时间,你自己看,都得懵。”
他说着有打开了另外一段日志宝的代码说道🅿:“你看我这段🙤,我的这段嵌套分支也很多,但是这都不是一次写出来的,而是每次增加新功能时就开个新的分支。”
“对于每一个分支的增加,我都不觉得需要重构整段代码,因为我当时只想用最快的时间,把自己要做的事情做完,于是代码质量🝑👛变得越来越低。”
“昨天晚上,我就把这段代码进行了重构,将三百二十行,变成☕⚻🖣了一百行,这样就不担心启明星的工程师们看晕头了,也节省了大量的资源。”
汪永丰看着两段代码,点了点头说道:“区别真的很大,🏚🚥但是功能相同。那应🏄该怎么重构代码呢?”
柳诚接过了柳依诺递过来的水杯,说道:“一般情况下,三个分支就可以重构为一个判断(switch🃴⚞),如果一个判断的分支🝑👛大于10个,就要考虑写成表(fig)去驱动,专门写一个函数根💲🕳🍯据配置写一个路线图(mapping)。”
“如果是映射逻辑复杂♌,使用频率较高,就专门写一个数据库规则引擎(ruleengine)来调用。”
汪永丰还是有点懵,柳诚又亲自演示了一遍,有些犹豫的说道🍺🍈🆊:“就是类似这种,重构代码是个费力不讨好的活儿🝖,但是也是一个必做的工作。”
“好厉害!”汪永丰眨着🆐眼睛,目瞪口呆的说🆤道。
柳诚示意这没什么,笑着说道:“大部分都是这样,我曾经接手过一个三十几层的ifelse套ifelse模块,把我差点干崩🌽溃。”
“我对这个模块,做评审复盘的时候,发现第一个📬🏽程序员,只写了一层🛻♻,🖍👘🉇后来每增加一个需求,逻辑分支扩张到了三十多层,就没人愿意重构了。”
“重构错了,还得背锅。”
“我那时候就劝💨🔕🀟自己,编程嘛,最重💩🔞要的就是看得开,我加了一层,测试,提交,下班。”
汪永丰十分好奇的问道:“后来呢?”
柳诚满是回忆的说道:“后来这个模块,♎在启动的时候,会被执行19.6亿次,🍴开启这🔴🄶🂃个模块的时间长达六分钟,而且所有人都不知道问题出在哪里。”
“19.6亿次?”汪永丰拍了拍额头。
柳诚站起身来,笑着说道:“是一个游戏在线服务的子模块,你知道,19.6亿次的无用运算,一遍又一🏄🗥遍的在用户的CPU上上演,那场面,啧啧。”
“后来呢?”汪永丰瞪着眼睛,问道。