库的灵活性不是免费的:复杂度只会转移不会消失

Franc0Fernand0 · x · 2026-10-30

Polymathic Engineer 第 197 期通讯的核心论点:每次让库更灵活,总得有人付出代价,且往往不是你自己。作者举了两个典型例子:把依赖藏在接口后面,你的代码变简单,但所有客户端都得实现这个接口;加 hook 让客户端插入自己的代码,等于运行你无法控制的代码——它可能抛异常或阻塞你的线程,即使包上 try-catch、丢进线程池,最终仍要等最慢的那个。结论是复杂度不会消失,你只能决定它去哪:转移到客户端、线程池,还是你的延迟里。文章还讨论了扩展点的线程执行模型(同步调用会拖累 SLA,异步则要维护并监控线程池),并主张扩展点应从使用证据中涌现,而非凭猜测预埋——你能预见的不是客户要什么功能,而是他们会在组件的哪个位置接入。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →