知识卡片
隔离问题空间
内容
调试大型系统时,不应一次理解全部细节,而要把问题组件从周边环境隔离出来,用最小复现和二分法缩小范围。发散:隔离不是逃避复杂性,而是把复杂性临时降到人脑可处理的尺寸。
参考来源
- 位置:第7章《敏捷调试》"35 对问题各个击破"(源文件:_epub-src/OEBPS/text00000.html)
- 结论依据:原文用Fred和George开发小型原型系统复现数据损毁症状、以及"不可能在半空中修复飞机引擎"的类比,明确"识别复杂问题的第一步,是将它们分离出来",并推荐用二分查找方式定位问题,直接支持卡片结论。
- 原始内容:"识别复杂问题的第一步,是将它们分离出来。既然不可能在半空中试图修复飞机引擎,为什么还要试图在整个应用中,诊断其中某个组成部分的复杂问题呢?当引擎被从飞机中取出来,而且放在工作台上之后,就更容易修复了。……对问题各个击破。在解决问题时,要将问题域与其周边隔离开,特别是在大型应用中。……以二分查找的方式来定位问题是很有用的。"