4.10 调试
函数的接口,作用就像是函数和调用者之间签订的一个合同。调用者同意提供某些参数,而函数则同意使用这些参数做某种工作。
例如,polyline需要4个参数:t必须是一个Turtle;n是边线的个数,所以必须是整数;length应当是个正数;而angle则必须是一个数字,并且按照度数来理解。
这些需求被称为前置条件,因为它们应当在函数开始执行之前就保证为真。相对地,函数结束的时候需要满足的条件称为后置条件。后置条件包含了函数预期的效果(比如画出线段)以及任何副作用(比如移动乌龟或者引起World中的其他改变)。
满足前置条件是调用者的职责。如果调用者违反了一个(文档说明清晰的!)前置条件,因而导致函数没有正确运行,则bug是在调用者,而不在函数本身。
时间: 2024-10-22 19:36:23