接手一个没人维护的老项目,我第一周只做了三件事

举报
yd_292302676 发表于 2026/11/05 09:19:00 2026/11/05
【摘要】 上一任开发三月份就走了,代码在、文档没有。第一周我没读代码,只做了三件事:把系统点一遍、翻日志、给最脏的方法加两行打印,反而更快摸清了它哪里疼。

上周被拉去接手一个内部系统,上一任开发三月份就走了。代码在,文档没有,提交记录里最后一次改动叫「修复」。

我一开始也想直接读代码。翻了两个小时 controller,越看越虚——不是看不懂,是不知道哪部分还活着。后来干脆停下来,先不读。

第一件事:把系统跑起来,然后点一遍

不是看代码结构,就是把每个菜单点进去,看哪个页面报错、哪个按钮转圈、哪个功能点进去是空白。半天时间列了十一条「看着能用其实不能用」的地方。这比读一周代码有用,因为用户真正抱怨的就是这些。

顺手把环境也记下来了。哪个配置文件里躺着明文密码,哪个依赖装的是内网源,启动脚本里写死了某个同事电脑上的路径。这些没人会告诉你,只能自己踩。

第二件事:翻日志

老系统最值钱的不是代码,是日志。我把最近一个月的错误日志按出现次数排了个序,前三条占了七成:数据库连接池不够、某个定时任务每天凌晨重跑失败、还有一条内存溢出的警告,出现时间很规律,基本都在下午两点左右。

下午两点这个时间点帮了大忙。后来查出来是有人配了个整点同步,量一上来就 OOM。这问题大概存在半年了,一直没人管,因为重启一下就好了。

第三件事:给最脏的那个方法加日志,不加注释

本来想写注释,写着写着发现没用——我不知道它为什么这么写,猜出来的注释比没有注释更害人。所以改成在入口和出口各打一行日志,把入参和耗时记下来。跑了一周,这个方法被调了多少次、慢在哪一段,全清楚了。

有人问为什么不先重构。因为我不确定哪块能删。删错了线上就炸,而我对这个系统的了解还不足以承担这个风险。

三周过去,十一条里修了七条,剩下的排进下个迭代。代码结构基本没动,但至少现在我知道它哪里疼。

回头看,第一周做的三件事其实都不算技术活:点一遍、翻日志、加两行打印。但它们让我少走了很多弯路。

如果非要说有什么经验,就是别急着证明自己能看懂代码,先证明自己能看懂这个系统在干什么。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。