AMAZINGINDEX.COM 日报快照
44.1
VOL. 2026.06
2026.06.22
← 返回 2026.06.22 日报
日报快照 · Daily Snapshot
NO. 011

复制代码比错误抽象更划算

#ARTICLE HackerNews 2026.06.22
推荐指数 46.0 NO. 011 · 2026.06.22
发布2026/06/21Score265Comments183

Sandi Metz 提出软件工程中的反直觉原则:刻意保留重复代码,优于强行抽取错误的抽象层。对 AI 工程团队尤其重要——大模型生成的"优雅"抽象往往是过度设计的重灾区,后期重构成本极高。

Metz 这条 2016 年的推文至今被反复引用,恰恰因为 LLM 时代问题更严重了。Copilot 和 Cursor 生成的代码极度倾向于"优雅"抽象——一个接口套一个工厂,命名还很有迷惑性。团队如果缺乏足够 senior 的 code review,很容易在三个月后发现这些抽象成了改不动的混凝土。

实际可执行的做法:设定一个"复制阈值",比如同一段逻辑出现第三次时才考虑抽象,且抽象前必须写下"这次变什么、下次可能怎么变"。AI 生成的抽象层要额外加一个"试用期",跑满两个迭代周期再固化到主分支。

这条原则对做 AI Infra 的团队尤其痛——训练 pipeline 的抽象层一旦错了,不是改代码的问题,是重跑实验和重新对齐数据的问题,成本放大百倍。

意见分歧 163 条评论

核心争论:过度抽象与代码重复的权衡,微服务是否加剧设计失误

cryo32

You can do both with microservices!

zephen

But wait! There's more! For $19.95, you can replace your single single point of failure with multiple single points of failure!

flawn

Or for 100$, get a 5x increase on all failure points - maximum vibes, maximum excitement.

替代方案: monolithservice oriented architecturemicroservicesMPA with progressive enhancementPostgres + RPC + Zod + Preact
查看原文 →