我正在关注这些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++;
}
此处Pre
和Post
的含义是什么?
我从未见过这里使用的Post
!我知道Post
在Web和HTML等环境中的含义,但不是纯代码!
非常感谢任何帮助。
谢谢。
答案 0 :(得分:1)
“Pre”表示在执行开始时做出的假设。在这种情况下,它表示传入的值假定为非空。
“Post”表示在执行结束时做出的假设,即例程实际执行的操作。在这种情况下,当例程完成时,新元素将被添加到列表的末尾。如果例程修改其参数或具有任何其他副作用,那么这些修改也应列在“帖子”中。