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,意味着复杂度被推到了实现层。简化配置,意味着复杂度被推到了约定和文档里。
这不是悲观的结论,而是一个资源分配问题:把复杂度推给最有能力处理它的地方。一般来说,这意味着更多的复杂度应该在系统内部,而不是暴露给终端用户。