调试九法读书笔记(八)

读书笔记 May 25, 2019

第十一章 如果你不修复bug,它将依然存在

“当危险已经离你很近时,拒绝承认它并不是勇敢的表现,而是愚蠢”
————福尔摩斯,《最后一案》

很多时候,当bug只是偶尔发生,我们会懒得追究问题的根源。如果你不修复bug,它就将一直存在。

11.1 检查问题是否确实已被修复

如果你遵守制造失败这条规则,就会知道如何验证你确实已经修复了问题。那么应该立即验证!不要假设问题已经修复了,而是要真正去测试它。

11.2 检查确实修复措施解决了问题

当你发现已经修复了一个设计问题时,取消这个修复,确定系统再次失败,然后再应用这个修复,再次验证这个问题已经修复了。这才能验证是修复措施解决了问题。

11.3 bug从来不会自己消失

假设你先前曾是使系统发生了故障,然后因为某种外部的原因,故障消失了。这可能是碰巧真的修复了bug,但是还可能是将引发bug的环境隐藏了起来,但是当某天引发bug的条件再次出现时,bug仍然会出现。所以把环境复原,一次只修改一个地方,逐渐找到问题,并采取修复措施,然后使用11.2的规则验证是否这个修复错误解决了问题。

11.4 从根本上解决问题

如果一个硬件设备损坏了,不要仅仅把它换掉。这可能仅仅修复一段时间,然后就会导致硬件再次损坏。好好思考为什么它坏到了,必须找到真正的失败之处。

11.5 对过程进行修复

很多时候问题或者bug出现,不仅仅是因为粗心大意。如果发生的频率很高,那可能是一个普遍存在的问题。这时候我们需要思考我们的工作过程,是否可以通过一些标准规范来杜绝这类问题的产生。也就是对过程进行修复。

11.6 小结

如果你不修复bug,它将依然存在
现在你已经掌握了所有的技术,没有理由再让bug存在了。

  1. 查证问题确实已经修复了。
  2. 查证确实是你的修复错误解决了问题。
  3. 要知道,bug从来不会自己消失。
  4. 从根本上解决问题。
  5. 对过程进行修复

zzx

There is my place for writing,coding and reading