怎么优化一个AI生成的屎山

心态因为这个项目有点低落。

聊聊为什么会优化?

我和另外一个同事A,入职了第三个项目

入职第一天,领导说了:要拆分功能。但是开发负责人是同事B

  • 同事B给同事A拆分了一个接口。
  • 给我拆分了一个内部功能。

然后我就问同事B:你给我一个功能点啊。 同事说:给不了,拆不了。你在去问领导要个需求。

我:????

大泥球函数

简单来说:

  • 传入一个id
  • 假如匹配规则1,那么返回M个字段
  • 假如匹配规则2,那么返回N个字段
  • 一共有5 * 5 大概 几十条规则,全部焊进一个大函数里面
  • 每次都往数据库里面新增字段

这个大函数已经拆分成了好几个小函数 但是每个小函数里面:

  • 导入、导出、计算、校验、缓存都有

改一发而动全身。

现在有两个开发,在同一个大泥球里面开发独立的分支。

  • 我和他独立开发,合并分支的时候,我和他互相影响,效率非常低

于是同事就说:拆不出来。 啥东西都混在一起,怎么拆??

这样:我来干这个,你去做其他需求。

但是:领导拆不出其他需求。

聊聊现在的情况

对于这种屎山代码,重构的成本肯定不低。

使用策略模式去拆,同事学习成本极高,代码膨胀——而且模式会搞得非常复杂。 而且:本人亲身维护过美团的项目代码,策略模式的维护心力是传统if分支的好几倍。

  • 在分支少的时候,使用简单的if判断,比策略模式快很多倍
  • 但是因为后期大量的if,导致维护难度变大,策略模式后来居上

领导肯定不愿意使用“重”的方案,想要轻量的方案。

  • 想要策略模式的效果和解耦
  • 又想要传统if分支的开发效率

我的方案

我写个一个方案:

  • 多打日志,追踪链路,方便排查
  • 原表不动,加扩展表
  • 原有链路抽象出方法,一个方法只干一件事

然后领导看了:没有表现。

可能还是不够惊艳。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP