得,今天就来聊聊我最近捣鼓的这个“阿齐”。
这事儿得从头说起。大概几个月前,我接手了一个项目里的小模块,或者说是一个遗留下来的功能点,我们内部习惯叫它“阿齐”。为啥叫这个名,我也没细究,反正前辈们传下来的,就这么叫了。
刚开始接触“阿齐”的时候,那感觉,真叫一个头两个大。
代码乱糟糟的,逻辑跳来跳去,感觉就像个没头没脑的小孩,做事颠三倒四。你想,我要在这个基础上加点新东西,或者修个老 bug,简直是无从下手。动一处,怕影响三处,跟拆地雷似的,小心翼翼。
我先是老老实实地看文档,结果发现文档也跟不上趟,好多地方对不上。没办法,只能硬着头皮读代码。我花了差不多一个礼拜的时间,就是坐在电脑前,一行一行地捋,把主要的流程先画个图出来,搞清楚它到底想干嘛
理清思路,动手改造
摸清了大概的路子之后,我就开始琢磨怎么改造它。原先的实现方式,怎么说,有点“蛮力”,效率不高,还容易出错。我就想,能不能换个思路,让它变得“聪明”点,就像那些新出的东西一样,比如我之前看过的那个好像叫“阿齐沙坦”的新药介绍,说是用了新机制,效果更虽然不是一回事,但那个思路启发了我,就是不能墨守成规。
于是我做了几件事:
- 简化逻辑: 把那些绕来绕去的判断和重复的代码,大刀阔斧地砍掉或者合并。
- 拆分功能: 把原来一大坨的功能,拆成几个小块,每块只负责一件事,这样以后改起来也方便。
- 增加注释: 关键的地方都加上注释,说明白这块是干嘛的,为什么这么写。省得后面的人(或者我自己)再看的时候又一脸懵。
- 写测试: 搞了些简单的测试,保证改完之后,基本的功能还能跑通,别改出新问题来。
这个过程挺枯燥的,就是不断地改代码、测试、再改代码、再测试。有时候为了一个小问题,得查半天资料,或者找同事讨论一下。感觉就像那个要参加比赛的“阿齐”,短时间里得逼着自己快速提升,把东西弄出来。
的效果嘛还行。
现在这个“阿齐”模块,虽然谈不上脱胎换骨,但至少运行起来稳定多了,代码也清爽了不少,我自己再去维护或者别人接手,都比以前容易多了。这回折腾“阿齐”的过程,让我觉得,很多时候,面对一些遗留的、复杂的东西,不能怕麻烦,得沉下心去,一点点理顺它,用新的思路去优化它。实践出真知,大概就是这个意思。反正,这活儿算是告一段落了,自己记录一下,也算是个交代。
还没有评论,来说两句吧...