김동형수 개발기

테스트 주도 개발 - 1부 5장 본문

책 스터디/[완료] 테스트 주도 개발

테스트 주도 개발 - 1부 5장

김동형수 2022. 8. 30. 22:23

5장 솔직히 말하자면

할일목록

  • $5 + 10CHF = $10(환율이 2:1일 경우)
  • $5 X 2 = $10
  • amount를 private로 만들기
  • Dollar 부작용?
  • Money 반올림?
  • equals()
  • hashCode()
  • Equal null
  • Equal object
  • 5CHF X 2 = 10CHF

프랑(Franc)을 표현할 객체를 Dollar 곱하기 테스트를 복사해서 작성한다.

 

  1. Dollar 복사 붙여넣기 후 수정하기 생각
  2. 야유와 비난 ( 개발자로서의 자질의 문제..? )
  3. TDD 리듬 다시 생각하기
    1. 테스트 작성
    2. 컴파일되게 하기
    3. 실패하는지 확인하기 위해 실행
    4. 실행하게 만듦
    5. 중복 제거

3.1에 의거해서 Dollar를 복사 후 Franc로 변경한다.

 

할일목록

  • $5 + 10CHF = $10(환율이 2:1일 경우)
  • $5 X 2 = $10
  • amount를 private로 만들기
  • Dollar 부작용?
  • Money 반올림?
  • equals()
  • hashCode()
  • Equal null
  • Equal object
  • 5CHF X 2 = 10CHF

코드를 실행하기까지의 단계가 짧았기 때문에 '컴파일되게 하기' 단계도 넘어갈 수 있었다.

중복이 많아서 중복제거해야한다. equals()를 일반화하는 것부터 시작하자.

 

이번장 내용 정리

  • 큰 테스트를 공략할 수 없다. 그래서 진전을 나타낼 수 있는 자그마한 테스트를 만들었다.
  • 뻔뻔스럽게도 중복을 만들고 조금 고쳐서 테스트를 작성했다.
  • 설상가상으로 모델 코드까지 도매금으로 복사하고 수정해서 테스트를 통과했다.
  • 중복이 사라지기 전에는 집에 가지 않겠다고 약속했다.

 

 

 

 

 

 

 

 

Comments