2013-11-09 3 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이 웹과 HTML 컨텍스트에서 무엇을 의미하는지 알지만 순수한 코드는 아닙니다!

도움을 주시면 감사하겠습니다.

감사합니다.

답변

1

"Pre"는 실행 시작시 가정을 나타냅니다. 이 경우 전달 된 값이 null이 아닌 것으로 간주됩니다.

"게시"는 실행의 끝에서 가정이 수행되는 것, 즉 루틴이 실제로 수행하는 작업을 나타냅니다. 이 경우 루틴이 끝나면 새 요소가 목록의 끝에 추가됩니다. 루틴이 매개 변수를 수정하거나 다른 부작용이있는 경우 해당 수정 사항은 "게시물"에도 나열되어야합니다.

+0

감사합니다. "Pre"와 관련하여 전달 된 값이 NOT NULL이 맞는지 확인하는 힌트입니다 (가정하지 않음)? 예를 들어 NULL 검사를 통해 – Ciwan

+0

루틴의 코드는 값이 NULL이 아니라고 가정합니다. 즉 코드가 검사하지 않습니다. –