2013-11-09 57 views
0

我正在关注这些examples of C# code。但是我对伪码的评论感到有些困惑。了解伪码表示法

例如:

public void addToHead(Object value) 
// pre: value non-null 
// post: adds element to head of list 
{ 
    SinglyLinkedListElement temp = 
     new SinglyLinkedListElement(value); 
    if (tail == null) { 
     tail = temp; 
     tail.setNext(tail); 
    } 
    else { 
     temp.setNext(tail.next()); 
     tail.setNext(temp); 
    } 
    count++; 
} 

是什么PrePost这里的意思?

我从未见过Post在这里使用!我知道什么Post意味着在Web和HTML ..等环境中,但不是纯代码!

任何帮助将不胜感激。

谢谢。

回答

1

“Pre”表示在执行开始时做出的假设。在这种情况下,它表示传入的值被假定为非空值。

“Post”表示在执行结束时做出的假设,即该例程实际执行的操作。在这种情况下,例程完成时,新元素将被添加到列表的末尾。如果例程修改了它的参数或有任何其他副作用,那么这些修改也应该在“Post”中列出。

+0

谢谢格雷姆。关于“Pre”,这是一个暗示,以确保(而不是假设)传递的值是不正确的?例如通过NULL检查 – Ciwan

+0

这只是说例程中的代码假定值不是NULL,即代码没有检查。 –