1 分钟阅读

你的 Bug 可能正是别人的功能

软件工程的魔幻定律(3)


Part I-III:架构与复杂度

Tesler’s Law:复杂度不会消失,只会转移

Larry Tesler 的守恒定律:

“Every application has an inherent amount of irreducible complexity. The only question is who will have to deal with it.”


这是一个零和游戏。简化用户界面,意味着复杂度被推到了开发者身上。简化 API,意味着复杂度被推到了实现层。简化配置,意味着复杂度被推到了约定和文档里。

这不是悲观的结论,而是一个资源分配问题:把复杂度推给最有能力处理它的地方。一般来说,这意味着更多的复杂度应该在系统内部,而不是暴露给终端用户。