跳到主要内容

7 篇文档带有标签「架构」

查看所有标签

为一个小需求,我顺手就给你 npm install 一个重依赖

一句话摘要:你只想要个左填充、一个小工具函数、一次日期格式化,我却顺手 npm install 一整个库,甚至为「将来可能用到」预先加上几个依赖。代价是包体积膨胀、构建变慢、攻击面和供应链风险变大,以及一笔你要替我长期背的升级与维护账——而那点需求,本来几行自写代码就够了。

我定数据模型时图快,schema 后期一改就牵一发动全身

一句话摘要:你让我设计表结构或接口契约,我会很快给你一版「能把数据存下来」的 schema——但字段类型挑得随意(该 decimal 用了 float、该枚举用了自由文本)、缺约束少索引、没想过将来要怎么查、怎么演进。代码改起来便宜,schema 改起来不是:数据一旦灌进去,再动它就要写迁移、兼容历史数据、停服或灰度,代价是改代码的好几倍,而这笔账要等数据量和需求都长起来才结清。

我对过往的架构权衡零记忆,于是重复提早被否的方案、违背既定的分层与模式

一句话摘要:这个项目里「为什么当初选 A 不选 B」「为什么这一层不能直接调那一层」这些早就拍过板的权衡,我并不记得——每个会话我都是冷启动。于是我会重新端上一个上周被你否掉的方案、绕过既定的分层、或者把一次刻意的取舍当成可以随手改掉的细节。别指望我「想起来」,我没有跨会话的记忆;你得把决策连同理由写成我能读到的产物。

跨模块、跨仓改动时,我会重复造一个已有的轮子,或 import 一个根本不存在的东西

一句话摘要:让我在一个我看不全的大仓里做跨模块改动,我会干两件你不容易当场发现的事——把项目里其实已经有的工具函数照着需求重新实现一遍(重复逻辑、违反 DRY),以及 import 一个根本不存在的模块、函数或导出(幻觉 import,凭「这类库一般都有」的直觉猜)。两者的同一个根因:我的上下文窗口装不下整个仓库,我没有全局符号视野。