第7章 敏捷调试

你也许会对木匠那毫无差错的工作印象深刻,但我向你保证,事实不是这样的,真正的高手只是知道如何亡羊补牢。

?--Jeff Miller,家具制造者,作家

广告:个人专属 VPN,独立 IP,流量大,速度快,连接稳定,多机房切换,每月最低仅 5 美元

即使是运作得最后的敏捷项目,也会发生错误。Bug、错、缺陷—不管被称作什么,它们总会发生。

在调试时面对的真正问题,是无法用固定的时间来限制。可以规定设计会议的持续时间,并在时间截止时采用最佳的方案。但是调试所耗费的时间,可能是一个小时、一天,甚至一周过去了,还是没有办法找到并解决问题。

对于一个项目来说,这样没有准备把握的时间消耗是不可接受。不过,我们可以使用一些辅助技术,涵盖的范围包括:保留以前的问题解决方案,以及提供发生问题时的更多有用细节。

想要更加有效的重用你的知识和努力,记录问题解决日志是很有用的,我们会在下一页看到如何具体操作。当编译器警告有问题的时候,要假定警告就是错误,并且马上把它们解决掉(第132页)。

想在一个完整的系统中跟踪问题非常困难—甚至是不可能的。如果可以对问题各个击破,正如我们在第136页中看到的那样,就更容易找到问题了,不同与某些欲盖弥彰的行为,应报告所有的异常,如第139页所述。最后,在报告某些事情出错之时,必须要考虑用户的感受,并且提供有用的错误信息。我们会在第141页看到这是为什么。