怎么优化一个AI生成的屎山
心态因为这个项目有点低落。
聊聊为什么会优化?
我和另外一个同事A,入职了第三个项目
入职第一天,领导说了:要拆分功能。但是开发负责人是同事B
- 同事B给同事A拆分了一个接口。
- 给我拆分了一个内部功能。
然后我就问同事B:你给我一个功能点啊。 同事说:给不了,拆不了。你在去问领导要个需求。
我:????
大泥球函数
简单来说:
- 传入一个id
- 假如匹配规则1,那么返回M个字段
- 假如匹配规则2,那么返回N个字段
- 一共有5 * 5 大概 几十条规则,全部焊进一个大函数里面
- 每次都往数据库里面新增字段
这个大函数已经拆分成了好几个小函数 但是每个小函数里面:
- 导入、导出、计算、校验、缓存都有
改一发而动全身。
现在有两个开发,在同一个大泥球里面开发独立的分支。
- 我和他独立开发,合并分支的时候,我和他互相影响,效率非常低
于是同事就说:拆不出来。 啥东西都混在一起,怎么拆??
这样:我来干这个,你去做其他需求。
但是:领导拆不出其他需求。
聊聊现在的情况
对于这种屎山代码,重构的成本肯定不低。
使用策略模式去拆,同事学习成本极高,代码膨胀——而且模式会搞得非常复杂。 而且:本人亲身维护过美团的项目代码,策略模式的维护心力是传统if分支的好几倍。
- 在分支少的时候,使用简单的if判断,比策略模式快很多倍
- 但是因为后期大量的if,导致维护难度变大,策略模式后来居上
领导肯定不愿意使用“重”的方案,想要轻量的方案。
- 想要策略模式的效果和解耦
- 又想要传统if分支的开发效率
我的方案
我写个一个方案:
- 多打日志,追踪链路,方便排查
- 原表不动,加扩展表
- 原有链路抽象出方法,一个方法只干一件事
然后领导看了:没有表现。
可能还是不够惊艳。
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
