2.3.2 除错工作流

如果你确实有一个非无关紧要的bug,这个时候就是除错策略该介入的时候。没有银子弹。但是,策略会有帮助:

  1. 对于给定问题的除错,最合适的情况是当问题被隔离在几行代码的时候,外面是框架或应用代码,有较短的修改-运行-失败循环。
  • 让它可以可靠的失败。找到一个测试案例,可以让代码每次都失败。
  • 分而治之。一旦你有一个测试案例,隔离错误的代码。

    • 哪个模块。
    • 哪个函数。
    • 哪行代码。

=>隔离小的可重复错误:测试案例

  • 每次只改变一个事情并且重新运行失败的测试案例。

  • 使用除错器来理解哪里出错了。

  • 耐心的记笔记。可能会花一些时间。

笔记:一旦你遵从了这个流程:隔离一段可以重现bug的紧密代码段,并且用这段代码来修复bug,添加对应代码到你的测试套装。