函数前置条件和后置条件

来源:互联网 发布:中英互译的软件 编辑:程序博客网 时间:2024/04/29 05:01

前置条件指调用者调用该函数之前必须满足的条件。一般来说,前后置条件都可以转化为assert语句。

比如传递个strcpy的参数必须都是有效指针,win32下调用socket之前,必须先调用WAStartup,等等。

如果不满足前置条件就调用该函数,是属于调用者的bug;

后置条件指该函数在return之前,必须满足的一个约束。

 

前后置条件一般都包括几个方面:

1)参数

2)返回值

3)全局变量/类成员变量


区分前置条件和运行时异常的方法:

违反前置条件是属于调用者的bug,调用者有责任保证符合前置条件。

处理运行时异常是你自己的责任,没处理好是算你自己的bug。

另外,直接来自用户/外部RPC的输入,不能作为前置条件。