First Step

JavaScript Koans

Koans - 불교에서 쓰는 선문답 (수행의 진리를 찾기 위하여 대화를 주고받다라는 의미로, 자바스크립트를 깨닫게 해준다는 의미)

프로그래머들은 자신들이 작성한 코드가 괜찮은지 여부를 판단하는 테스트코드(*)를 작성합니다. Koans에서는 일부 미완성 된 테스트 코드를 채워가면서 테스트코드가 통과할 수 있도록 하는 과정을 그립니다. FILL_ME_IN으로 작성된 부분을 답으로 교체해가면서 한문제 한문제 풀어나가면 됩니다.

(*)About 테스트코드

코드를 작성한 후에 그 코드가 제대로 작동하는지 알 수 있는 가장 쉬운 방법은 컴파일해서 실행해보는 것입니다.
이 방법은 프로그래밍을 입문하면서 제일 처음 배우는 디버깅 방법이기도 하지요.

하지만 이 방법은 쉬운만큼 한계가 많습니다.
첫 번째 한계는 코드가 바뀔 때마다 이전에 추가해던 기능이 제대로 동작하는지 하나하나 검사해야된다는 점입니다.
코드의 일부분을 수정했는데 이전에 작동하던 기능에서 오류가 난다면 신뢰할 수 있는 코드라고 할 수 없겠죠.

두 번째 한계는 모든 예외를 검사하는데 상당한 시간과 노력이 든다는 점입니다.
테스트해야 될 경우의 수가 10가지 정도라면 프로그래머가 직접 테스트해도 괜찮을 것입니다.
그러나 그 수가 100개, 200개가 된다면 꽤 골치아프겠죠.

세 번째 한계는 코드 리팩토링(주: 코드의 동작을 바꾸지 않으면서 코드의 구조를 개선하는 것) 과정에서 
코드가 망가지지 않았는지 알 수 있는 쉬운 방법이 없다는 것입니다.
앞서 말한 것처럼 큰 노력을 들여야만 알 수 있고, 그다지 완벽한 방법도 아닙니다.

위의 한계 때문에 프로덕션 코드를 작성할 때는 테스트 코드를 작성하는 것이 권장됩니다.
실제로 다수의 유명 프로그래머들이 테스트 코드를 작성하는 것,
더 나아가 테스트 주도 개발(TDD)을 주된 개발 프로세스로 삼아야한다고 주장하죠.

출처: https://velog.io/@leejh3224/%EC%8B%A4%EC%9A%A9%EC%A0%81%EC%9D%B8-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0


Koans를 처음 실행하면, 런타임 에러가 보일 것이고, 어디에 에러가 나고 있는지를 볼 수 있습니다.여러분의 목표는 이 에러들을 고쳐가면서 자바스크립트가 어떻게 이루어지는지 살펴보는 것입니다.

첫 에러는 koans/AboutExpects.js 에 있습니다. 에러를 하나씩(한번에 다 풀려고 하지마시고 html의 내용을 따라가주세요) 해결하고 브라우져를 refresh해서 해결 여부를 확인할 수 있습니다.

아래 다운로드 링크로 파일을 받으셔서 VSCode를 통해 문제를 해결하면 됩니다.

JavaScript Koans Download


실행방법

  1. 받은 Koans 폴더 안을 살펴서 KoansRunner.html 을 실행.
  2. 위에 설명했듯이 몇가지의 에러가 남아있다고 하면서 글들이 써있는 것을 확인.
  3. Koans안에 있는 파일들을 고치고 브라우저를 refresh하면 해결여부를 확인.
  4. 모든 에러가 해결될 때까지 이 고치고 refresh하는 작업을 반복.

해결할 파일

AboutExpects.js
AboutArray.js
AboutFunctions.js
AboutObjects.js
AboutApplyingWhatWeHaveLearnt.js
AboutHigherOrderFunctions.js
AboutInheritance.js
AboutMutability.js