怎么优化一个AI生成的屎山
心态因为这个项目有点低落。
聊聊为什么会优化?
我和另外一个同事A,入职了第三个项目
入职第一天,领导说了:要拆分功能。但是开发负责人是同事B
- 同事B给同事A拆分了一个接口。
- 给我拆分了一个内部功能。
然后我就问同事B:你给我一个功能点啊。 同事说:给不了,拆不了。你在去问领导要个需求。
我:????
大泥球函数
简单来说:
- 传入一个id
- 假如匹配规则1,那么返回M个字段
- 假如匹配规则2,那么返回N个字段
- 一共有5 * 5 大概 几十条规则,全部焊进一个大函数里面
- 每次都往数据库里面新增字段
这个大函数已经拆分成了好几个小函数 但是每个小函数里面:
- 导入、导出、计算、校验、缓存都有
改一发而动全身。
现在有两个开发,在同一个大泥球里面开发独立的分支。
- 我和他独立开发,合并分支的时候,我和他互相影响,效率非常低
于是同事就说:拆不出来。 啥东西都混在一起,怎么拆??
这样:我来干这个,你去做其他需求。
但是:领导拆不出其他需求。
聊聊现在的情况
对于这种屎山代码,重构的成本肯定不低。
使用策略模式去拆,同事学习成本极高,代码膨胀——而且模式会搞得非常复杂。 而且:本人亲身维护过美团的项目代码,策略模式的维护心力是传统if分支的好几倍。
- 在分支少的时候,使用简单的if判断,比策略模式快很多倍
- 但是因为后期大量的if,导致维护难度变大,策略模式后来居上
领导肯定不愿意使用“重”的方案,想要轻量的方案。
- 想要策略模式的效果和解耦
- 又想要传统if分支的开发效率
我的方案
我写个一个方案:
- 多打日志,追踪链路,方便排查
- 原表不动,加扩展表
- 原有链路抽象出方法,一个方法只干一件事
然后领导看了:没有表现。
可能还是不够惊艳。
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
AI 时代学习开源项目的正确姿势
15
DeepSeek 官方偷偷上传 Harness 桌面端安装包,我已经用上了。。附最新下载地址
6
学习开源项目时我们应该画哪些图?
10
最近看了一个视频叫「被 Vibe Coding 抚平的大脑褶皱,还能救回来吗?」,聊的是 AI 时代学编程的困境,感觉说的挺好的,给鱼友们分享一下。视频中提到现在学编程和以前最大的区别是,以前卡住了你只能自己想、查文档、翻 Stack Overflow,这个过程虽然痛苦,但你的脑子确实在转。现在有了 AI,卡住的第一反应就是打开 ChatGPT 问一句,代码瞬间就出来了,跑通了,感觉自己搞定了。但
7
现在安装 MySQL 真方便:直接让 AI 帮忙安装,再跟着它的指引,在 DataGrip 里配置本地连接。
3
