티스토리 뷰

Programming/TDD

05-정리

류시명 2022. 1. 16. 23:42

인프런 김정환 님 견고한 JS 소프트웨어 만들기 강의 노트 입니다.

1. 화면에 붙여보자

git checkout -f index.html-3

index.html

<html>
  <body>
    <!-- 감소 버튼 생성 -->
    <button id="btn-decrease">-</button>
    <span id="counter-display"></span>
    <button id="btn-increase">+</button>

    <script src="ClickCounter.js"></script>
    <script src="ClickCountView.js"></script>

    <script>
      (() => {
        const data = { value: 0 };
        const counterDec = App.ClickCounter(data).setCountFn(v => v - 1);
        const counterInc = App.ClickCounter(data).setCountFn(v => v + 1);
        // const counterInc = App.ClickCounter(data).setCountFn(v => v + 2); // 숫자를 2씩 증가하고 싶다면

        const updateEl = document.querySelector('#counter-display')
        const btnDecrease  = document.querySelector('#btn-decrease')
        const btnIncrease  = document.querySelector('#btn-increase')

        const decCounterView = App.ClickCountView(counterDec, { updateEl, triggerEl: btnDecrease })
        const incCounterView = App.ClickCountView(counterInc, { updateEl, triggerEl: btnIncrease })
        // decCounterView나 incCounterView 중에 아무거나 해도 됨
        decCounterView.updateView()
      })()
    </script>
  </body>
</html>

2. 정리

자바스크립트는 런타임에 에러를 발생시키기 때문에 자바스크립트로 개발할 때는 독특한 마음가짐을 가져야 한다.

컴파일러가 없는 한 테스트가 안전한 개발을 하기 위한 최선의 방법이다.

테스트주도개발 TDD는 테스트 실패 -> 테스트 성공 -> 리팩토링의 순서로 진행되며

테스트 코드는 준비 -> 실행 -> 검증 순서로 작성한다.

테스트할 수 있는 좋은 코드는 SOLID하고 DRY한 코드다.

SOLID: https://velog.io/@kyle/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-SOLID-%EC%9B%90%EC%B9%99-%EC%9D%B4%EB%9E%80
DRY: https://velog.io/@leehs27/DryCode

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함