今天得说说这个叫吴超的事儿。不是说人,是跟我最近捣鼓的一个项目有点关系,或者说,是这个项目的前身,跟一个叫吴超的哥们儿有联系。
事情是这样的,我现在手上摊上个活儿,挺麻烦的。代码有点乱,文档也跟不上。我接手的时候,带我的老哥就跟我提了一句:“这玩意儿,最早是吴超他们那组搞起来的。”
我当时也没多想,想着不就是个项目嘛再难还能上天?结果一头扎进去,好家伙,真是给我上了一课。
接手初期的混乱
刚开始那几天,我基本就是在看代码,理逻辑。那代码风格,怎么说,挺奔放的。注释少得可怜,变量命名有时候也让人摸不着头脑。我试着跑了跑,果然,一堆问题。有些功能看起来实现了,但稍微换个场景就不行。
然后我就去翻他们留下来的那点儿可怜的文档。大部分都是些概要设计,或者是一些零散的会议记录。细节?不存在的。很多关键的地方,都是一笔带过。
我试图联系一下最初参与的人,想问问当时是咋想的。结果大部分人都已经离职了,包括那个吴超。剩下的几个老人儿,也说时间太久了,很多细节都记不清了,就记得当时“想法很大”,“资源没跟上”。
硬着头皮往前拱
没办法,只能自己硬着头皮上了。我采取的办法比较笨,就是:
- 先跑通: 不管三七二十一,先把主流程给我跑起来,哪怕有错,先让它动起来。
- 加日志: 在关键节点疯狂加日志,把变量状态、执行路径都打出来,方便我跟踪问题。
- 小步重构: 看到明显不合理或者有坑的地方,就小范围地改一改,保证每次改动不引入新问题。
- 补文档: 把自己理解的东西,碰到的坑,解决的方法,都随手记下来,哪怕只是个文本文件,也比没有强。
这个过程特别熬人。经常是为了一个小问题,查半天资料,调试大半天。有时候感觉自己就像在考古,对着一堆“遗迹”,猜测当时“古人”的想法。
印象最深的一次,是为了一个数据同步的问题。代码逻辑绕来绕去,文档里啥也没写。我花了整整两天,把涉及到的代码一行一行捋,各种情况都模拟了一遍,才发现是一个很隐蔽的状态判断写反了。当时那个心情,真是又好气又好笑。
目前的进展和一点想法
这个项目算是被我勉强拉回正轨了。虽然还有不少小毛病,但至少主要的流程是顺畅了,新功能也能往上加了。之前补的那些文档和日志,现在也派上了大用场。
回头想想,吴超他们当初可能确实有想法,想搞个厉害的东西。但想法是想法,落地是另一回事。过程没控制基础没打牢,摊子铺得太大,就容易留下一堆麻烦。
所以这回实践也给我提了个醒,不管做什么,基础一定要扎实,文档、规范、代码质量,这些平时看着不起眼的东西,关键时候能救命。步子可以迈,但别太大,容易扯着自己。
行了,今天就先记录这么多,算是个阶段性的小结,也算是对这段时间埋头苦干的一个交代。还得接着优化。
还没有评论,来说两句吧...