수도코드(pseudocode)란?
프로그래밍 언어로 코드를 작성하기 전에, 무엇을 어떤 과정을 통해 만들지 사람의 언어로 먼저 작성하는 것.
먼저 수도코드로 코딩의 방향성을 작성해본다.
grades 객체 안에 score 객체와 show 객체를 선언
- score객체 안에 학생들의 점수 선언
- show객체에 각 학생들의 점수를 보여주는 함수를 선언
- 학생이름이나 옵션(all)을 사용자로부터 입력받는다. (입력창에 옵션에 대한 설명 출력)
- 만약 사용자가 all을 입력했다면,
- for문을 사용하여 객체 안에 있는 모든 학생의 이름과 성적 출력
- 그렇지 않다면,
- 입력받은 학생이름과 해당하는 점수 출력
수도코드를 토대로 실제 코드를 작성한다.
var grades = {
'score' : {
'kim' : 75,
'lee' : 84,
'park' : 97
},
'show' : function(){
option = prompt('학생의 이름을 입력하세요.\n' + '*참고*\n 전체 학생의 성적확인은 "all"이라고 입력하세요.');
if (option == 'all'){
for(key in this.score){
document.write('<p>이름 : ' + key + '<br/>성적 : ' + this.score[key] + '<br/><br/>');
}
}
else{
document.write('<p>이름 : ' + option + '<br/>성적 : ' + this.score[option] + '<br/><br/>');
}
}
};
수도코드를 작성하지 않고 코드를 작성하다보면, 중간에 길을 잃어버리기가 쉽다.
실제로 코딩을 할 때, 수도코드로 먼저 작성하고 코드를 작성했을 경우, 복잡한 알고리즘도 순차적으로 해결해나갈 수 있었다.
수도코드를 통해 생각을 먼저 정리한 뒤, 코드를 써내려간다면 더 수월하게 코딩을 할 수 있다는 것을 느꼈다.