《像计算机科学家一样思考Python》——4.10 调试

本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第4章,第4.10节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

4.10 调试

函数的接口,作用就像是函数和调用者之间签订的一个合同。调用者同意提供某些参数,而函数则同意使用这些参数做某种工作。

例如,polyline需要4个参数:t必须是一个Turtle;n是边线的个数,所以必须是整数;length应当是个正数;而angle则必须是一个数字,并且按照度数来理解。

这些需求被称为前置条件,因为它们应当在函数开始执行之前就保证为真。相对地,函数结束的时候需要满足的条件称为后置条件。后置条件包含了函数预期的效果(比如画出线段)以及任何副作用(比如移动乌龟或者引起World中的其他改变)。

满足前置条件是调用者的职责。如果调用者违反了一个(文档说明清晰的!)前置条件,因而导致函数没有正确运行,则bug是在调用者,而不在函数本身。

上一篇:清除绊脚石(不定期更新)


下一篇:《像计算机科学家一样思考Python》——4.11 术语表