This question already has an answer here:
What are the differences pre condition ,post condition and invariant in computer terminology [closed]
(1个答案)
6年前关闭。
例如,我有以下代码:
我只是对这些术语的确切含义感到困惑?上面的代码就是我认为的样子,但是有人能指出我的理论正确方向吗?
(1个答案)
6年前关闭。
例如,我有以下代码:
public class Calc(){
final int PI = 3.14; //is this an invariant?
private int calc(int a, int b){
return a + b;
//would the parameters be pre-conditions and the return value be a post-condition?
}
}
我只是对这些术语的确切含义感到困惑?上面的代码就是我认为的样子,但是有人能指出我的理论正确方向吗?
最佳答案
您的代码与其他零碎的代码有约定。前提条件本质上是最初必须满足的条件,以便您的代码保证它可以执行应做的事情。
例如,二进制搜索的先决条件是必须对要搜索的内容进行排序。
另一方面,如果满足先决条件,则后置条件是代码所保证的。例如,在二进制搜索的情况下,我们可以保证找到所搜索内容的位置,或者在找不到任何东西的情况下返回-1。
前提条件几乎就像是参数之上的另一件事。它们通常不会直接影响代码,但是在其他人使用您的代码时很有用,因此他们可以正确使用它。
10-06 13:51