공부하는 스누피
슈도코드(의사코드, pseudocode) 가이드라인 본문
슈도코드(pseudocode)라고도 하는 의사 코드는 알고리즘이나 다른 시스템에서 작동하는 과정을 설명하는 언어입니다.
슈도코드는 프로그래밍 언어와 같이 구조적 형태를 자주 사용하지만, 사람이 읽기 좋게 되어 있습니다.
프로그래밍 언어와 일반적인 언어를 함께 쓰면서, 필요하다면 수학적 기호를 사용해 표현할 수 있습니다.
슈도코드를 왜 사용할까요? 슈도코드는 영어의 정보와 코드의 정확성 사이의 균형을 맞추어 작성됩니다. 만약 우리가 알고리즘을 영어로만 작성한다면, 코드로 변환하고 알고리즘적으로 분석하기에 어렵습니다. 대신 코드로만 작성하는 경우, 실제 코드를 구현하고 싶지 않아도 모든 디테일을 알아야 해 많은 시간이 걸립니다. 그래서 슈도코드의 목적은 high-level로 된 설명을 분석과 코딩이 가능하도록 제공하는 것입니다.
다음은 슈도코드를 체크할 수 있는 가이드라인입니다.
1. 좋은 코드와 영단어를 따라하세요. 둘 다 사용하는 것은 어느 정도의 스타일을 고착화시킵니다. 변수 이름은 기억하기 좋아야 하고, 주석은 유용해야 하며, 그리고 구문은 이해하기 쉬워야 합니다.
2. 불필요한 디테일을 무시하세요. begin, end같은 그룹 구문을 사용해도 좋습니다. 하지만 문맥을 무시하진 마세요.
3. 명백한 것을 설명하려고 하지 마세요. 문맥상 변수의 자료형이 명백한 경우가 많습니다. 치명적인 경우가 아니라면, 생략해도 됩니다.
4. 프로그래밍의 장점을 이용하세요. if-then-else 또는 반복문은 영어로만 작성하는 것보다 훨씬 간결합니다.
5. 문맥을 고려하세요. 만약 당신이 quicksort 알고리즘을 쓰고 있다면, '값을 정렬하기 위해 퀵 소트를 사용한다'는 너무 많은 디테일을 감추고 있습니다. 만약 우리가 quicksort를 이미 배웠고, 다른 곳에서 subroutine으로 사용한다면, 이런 문장을 넣으면 됩니다.
6. 기반이 되는 모델에 대한 이해가 있어야 합니다. 당신의 슈도코드를 보고 기반이 되는 모델을 알 수 있어야 합니다. 만약 그렇지 않다면, 너무 high level에서 쓰여진 것입니다.
7. 균형을 체크하세요. 만약 슈도코드가 읽기 힘들거나 코드로 바꾸기 힘들면, 무언가 잘못된 것입니다.
(author: Naomi Nishimura)
(참고)
en.wikipedia.org/wiki/Pseudocode
www.cs.cornell.edu/courses/cs482/2003su/handouts/pseudocode.pdf
'정리 모음' 카테고리의 다른 글
Clean Code 메모 정리 (0) | 2021.03.19 |
---|---|
도커(Docker) 사용법 (0) | 2021.01.01 |
[기술면접]자료구조 정리 (0) | 2020.10.19 |
정규표현식 정리 (0) | 2020.10.17 |
[webOS] Web app 원격 인스톨 (0) | 2020.08.02 |