知识卡片

必要复杂度与意外复杂度

普通读书笔记卡 · 1584

内容

Fred Brooks在《没有银弹》中区分了两类复杂度:必要复杂度是问题本身固有的、无法从定义中移除 的部分(写Web服务器必然要处理如何快速响应请求本身);意外复杂度是解决问题的具体手段带来的 额外负担(如为绕开某语言GC停顿而引入的复杂调度逻辑)。SRE团队应主动消灭意外复杂度:一旦 发现有人正在给自己负责的系统引入意外复杂度,应及时提出抗议。

参考来源

- 位置:《SRE:Google运维解密》第9章《简单化》"乏味是一种美德"一节(源文件:_epub-src/OEBPS/Text/0008_0007.xhtml) - 结论依据:原文引用Fred Brooks《没有银弹》区分必要复杂度(固有、不可从问题定义中移除)与意外复杂度(工程努力可解决),并要求SRE团队在他人给系统引入意外复杂度时及时提出抗议。 - 原始内容:“必要复杂度是一个给定的情况所固有的复杂度,不能从该问题的定义中移除,而意外复杂度则是不固定的,可以通过工程上的努力来解决……为了最小化意外复杂度,SRE团队应该:在他们所负责的系统中引入意外复杂度时,及时提出抗议。”