예를 들어 텍스트에서 foo라는 단어를 찾아 전부 다른 단어로 바꿔주는 코드를 작성한다고 가정해봅시다. 다음은 pseudocode의 예제입니다.
이제 이 pseudocode를 실제로 작성가능한 JavaScript로 바꾸고자 한다면, 기본적으로 반복문, 조건문에 대한 이해를 해야합니다. 그 다음엔 JavaScript가 할수 있는 것과 할수 없는 것들에 대한 이해가 있어야 합니다. (이 예제의 경우, String은 Immutable하다는 특징, 즉 내용을 직접 바꿀 수 없다는 특징을 알고 있어야 합니다.) 이제 알고리즘을 작성할 준비가 되었습니다. 위의 pseudocode에서 구체화할 수 있는 부분을 구체화해봅시다.
이제 이것을 코드로 옮겨봅시다.
function replaceFoo(text) {
// foo라는 글자의 index가 -1이 아니면 단어를 찾은 것이다
while( text.indexOf('foo') !== -1 ) { // index를 발견하면
let index = text.indexOf('foo');
// index를 이용해 foo 바로 앞까지의 텍스트를 얻어내고
let beforeText = text.slice(0, index);
// foo 대신 새로운 단어를 넣는다
let replaceText = 'BAR';
// foo 이후의 텍스트를 넣는다
let afterText = text.slice(index + 3); // 'foo'는 세 글자이므로 3을 더함
text = beforeText + replaceText + afterText;
}
return text; // 바뀐 내용을 리턴한다
}
이와 같이 자연스럽게 pseudocode는 주석으로 변경될 수 있습니다.
조금 더 나아가, foo를 찾는 부분과, 텍스트를 바꾸는 기능을 분리해봅시다.
replaceFoo(text)
위 함수는 아래 두 함수로 분리할 수 있습니다.
findFoo(text);
replaceFoo(text);