9장 의사코드 프로그래밍 프로세스
목차
- 9.1 클래스 및 루틴 개발 단계 요약
- 9.2 전문가를 위한 의사코드
- 9.3 PPP를 이용한 루틴 구현
- 9.4 PPP 대안
이 장에서는 설계와 문서 작업 시 해야 하는 작업을 줄이고 품질을 향상시키는 의사코드 프로그래밍 프로세스(Pseudocode Programming Process, PPP)에 대해서 설명한다.
9.1 클래스 및 루틴 개발 단계 요약
클래스 생성 단계
클래스에 대한 일반적인 설계 작성 -> 클래스 내에 각 루틴 구현 -> 클래스를 전체적으로 검토하고 테스트
루틴을 작성하는 단계
'루틴 설계 -> 설계 검사 -> 루틴 코드 작성 -> 코드 검토 및 테스트' 단계를 필요할 때까지 반복하고 완료
9.2 전문가를 위한 의사코드
"의사코드"라는 용어는 알고리즘이나 루틴, 클래스, 프로그램이 어떻게 작동할지를 기술하는 자연어 문장과 같은 비형식적인 표기법을 가리킨다.
의사코드를 효과적으로 사용하기 위한 지침
- 구체적인 연산을 정확하게 기술하기 위해 우리가 사용하는 언어의 문장과 같은 형태의 명령문 사용
- 특정 프로그래밍 언어의 문법적인 요소를 피함
- 의사코드는 목적에 좀 더 초점을 맞춤
- 어떻게 코드를 구현할 것인지 보다 방법을 사용하는 목적을 설명
- 의사코드로부터 코드를 거의 자동으로 생성할 수 있을 정도로 의사코드를 작성
의사코드를 사용했을 때 얻을 수 있는 장점
- 의사코드 덕분에 검토가 쉬워짐
- 의사코드는 반복적ㅇ니 개선을 지원
- 수정하기 편함 - 비용이 적게 들어감
- 주석 작업을 최소화함 - 의사코드가 주석이 되기 때문에
- 유지보수가 쉬움
9.3 PPP를 이용한 루틴 구현
(루틴의 목적을 의사코드로 작성 -> 루틴의 세부 동작을 프로그래밍 언어처럼 들여쓰기를 통해 의사코드 작성) 단계를 더이상 무의미하다고 느껴질 때까지 반복
-> 의사코드를 주석 처리 -> 의사코드 밑에 실제 코드를 작성
내가 흥미롭게 느꼈던 점은 컴파일을 최대한 늦게하는 점이었다. 그동안 습관적으로 코드를 작성하면 바로 컴파일 해서 결과를 확인했는데 이 책에 따르면 그것이 좋은 방법은 아니라고 한다. 컴파일 전에 최대한 검토를 하고, 이후 컴파일 하면서 코드를 더 이해할 수 있다. 프로그램이 정상적일 것이라는 확신이 들 때까지 컴파일하지 않도록 노력해야겠다.
9.4 PPP 대안
테스트 주도 개발 : 코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 방법