Think Python—调试 6

以下摘录自《Think Python》第六章:有返回值的函数中的调试一节。详见:http://www.codingpy.com/books/thinkpython2/06-fruitful-functions.html#factdebug

将一个大程序分解为较小的函数为调试生成了自然的检查点。 如果一个函数不如预期的运行,有三个可能性需要考虑:

  • 该函数获得的实参有些问题,违反先决条件。
  • 该函数有些问题,违反后置条件。
  • 返回值或者它的使用方法有问题。

为了排除第一种可能,你可以在函数的开始增加一条 print 语句来打印形参的值(也可以是它们的类型)。 或者你可以写代码来显示地检查先决条件。

如果形参看起来没问题,就在每个 return 语句之前增加一条 print 语句,来打印返回值。 如果可能,手工检查结果。 考虑用一些容易检查的值来调用该函数(类似在增量式开发 一节中那样)。

如果该函数看起来正常工作,则检查函数调用,确保返回值被正确的使用(或者的确被使用了!)。

在一个函数的开始和结尾处增加打印语句,可以使执行流程更明显。

你可能感兴趣的:(Think Python—调试 6)