의사코드 (pseudocode)

이일우·2023년 2월 21일

공부하기

목록 보기
8/42

1. 의사코드란

의사코드는 실제 코드가 아닌 사람이 알아들을 수 있도록 일반적인 언어를 코드 형태로 써서 프로그램의 작동 원리를 표현하기 위한 언어이다.

의사코드(슈도코드, pseudocode)는 프로그램을 작성할 때 각 모듈이 작동하는 논리를 표현하기 위한 언어이다. 특정 프로그래밍 언어의 문법에 따라 쓰인 것이 아니라, 일반적인 언어로 코드를 흉내 내어 알고리즘을 써놓은 코드를 말한다. 의사코드는 말 그대로 흉내만 내는 코드이기 때문에, 실제적인 프로그래밍 언어로 작성된 코드처럼 컴퓨터에서 실행할 수 없으며, 특정 언어로 프로그램을 작성하기 전에 알고리즘의 모델을 대략적으로 모델링하는 데에 쓰인다.
위키백과

2. 의사코드 사용 이유

  • 코드 검토(Code Review)가 더 쉬워진다.
    의사코드로 실제 코드를 작성하기 전에 코드의 설계가 잘 되었는지 검토해 볼 수 있다.
  • 코드 수정을 좀더 용이하게 만들어준다.
    잘못된 내용의 코드를 수정해야 할 때 어느 부분이 잘못되었는지 미리 알고 수정할 수 있다.
    코드를 실행하고 테스트, 디버그하는 단계에서 잘못됨을 인지하고 수정하는것은 프로젝트의 시간을 더욱 촉박하게 만든다. 의사코드를 사용하면 의사코드의 설계단계에서 미리 오류를 수정할 수 있을것이다.
  • 의사코드는 코멘트(Comment) 작성에 대한 부담을 덜어준다.
    보통 코드를 작성한 이후에 코드에 대한 부가적인 설명내용을 작성한다. 의사코드를 사용할 경우 의사코드 서술 내용 자체가 코멘트가 되기 때문에 사실상 안에 코멘트를 남겨놓는 것보다 코멘트를 지우는데 더 많은 시간이 걸린다. 의사코드는 다른 프로그래밍 설계 문서보다 유지보수가 쉽다.

3. 의사코드 작성 방법

의사코드의 작성법은 개인마다 다르고, 개인이 써왔던 프로그래밍 언어에 따라서도 달라질 수 있다.보통의 경우 의사코드를 효과적으로 사용하는 방법에 대해서 알아보자.

  • 잘 쓰여진 의사코드에 따라 좋은 코드가 짜여진다.
    의사코드와 코드 모두 같은 스타일로 일관성있게 작성하는 것이 원칙이다. 똑같은 연산 기호를 사용하며, 적절한 곳에, 이해될 수 있는 문장으로 작성해야 한다. (긴 문장을 쓰지 않아도 된다.)

  • 불필요한 내용은 무시한다. 콤마(,)의 위치를 고민할 필요가 없다.
    좋은 방법은 '시작/끝(begin/end)', '[ ]' 등과 같이 일반적으로 많이 쓰이는 구조적인 기호나 단어들을 적절한 곳에 사용하는 것이다.

  • 확실한 내용을 여러번 말하지 않는다.
    문맥에 따라 값의 유형이 정해질 경우가 종종 있다. 예를들어 값이 정수인지 실수인지 정하는 것이 중요한 문제가 아니라면, 정확하게 값을 구분하는 것이 필요 없을 수도 있다.

  • 프로그래밍에 쓰이는 문법(구문)을 이용해 작성한다.
    if/else 조건문, 반복문(loop)인 while은 영어 단어와 같기 때문에, 이를 사용하여 의사코드를 좀더 명확하게 작성할 수 있다. 적은 수의 단어를 조합하여 의사코드를 작성하는 것도 좋은 방법이다. 변수 사용은 의사코드를 간단명료하게 만들어주기 때문에 생략하지 않는 것이 좋다.

  • 사용할 목적과 상황에 주의하여 작성한다.
    만약 빠른 정렬(quick sort) 알고리즘을 쓰고자 할 때, 단순히 'quick sort'라고 의사코드를 작성하게 되면 상세한 내용을 생략이 된 것이다. 의사코드로 알고리즘 전체를 한번에 꿰뚫어볼 수 있어야 한다. 그렇지 않다면 알고리즘을 쉽게 분석하기가 어려워진다.

  • 수준을 고려해 작성한다.
    만약 다른 사람이 본인이 작성한 의사코드가 이해하기 너무 어려워 실제 코드로 옮기기 어렵다면, 난이도에 문제가 있다는 뜻이다.

참고자료 출처

https://sujinlee.me/pseudocode/
https://ko.wikipedia.org/wiki/%EC%9D%98%EC%82%AC%EC%BD%94%EB%93%9C
https://42kchoi.tistory.com/114

0개의 댓글