2013-11-09 100 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,即代碼沒有檢查。 –