클린 코드 Assignment #12 [9장. 단위테스트]

Ellie·2022년 5월 8일
0

클린코드

목록 보기
10/11

TIL (Today I Learned)

2022.05.07 ~ 2022.05.08

오늘 읽은 범위

9장. 단위 테스트 (154p ~ 169p)

책에서 기억하고 싶은 내용을 써보세요.

  • TDD 법칙 세 가지

    • 첫째 법칙 : 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
    • 둘째 법칙 : 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
    • 셋째 법칙 : 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
  • 문제는 실제 코드가 진화하면 테스트 코드도 변해야 한다는 데 있다. 그런데 테스트 코드가 지저분할수록 변경하기 어려워진다. 테스트 코드가 복잡할수록 실제 코드를 짜는 시간보다 테스트 케이스를 추가하는 시간이 더 걸리기 십상이다. (156p)

  • 내 이야기가 전하는 교훈은 다음과 같다. 테스트 코드는 실제 코드 못지 않게 중요하다. 테스트 코드는 이류 시민이 아니다. 테스트 코드는 사고와 설계와 주의가 필요하다. 실제 코드 못지 않게 깨끗하게 짜야 한다.

  • 테스트는 유연성, 유지보수성, 재사용성을 제공한다.

  • 깨끗한 테스트 코드를 위한 다섯 가지 규칙!

    • F.I.R.S.T
      • Fast 빠르게
      • Independant 독립적으로
      • Repeatable 반복가능하게
      • Self-Validating 자가검증하는
      • Timely 적시에
  • 결론

    • 테스트 코드는 실제 코드만큼이나 프로젝트 건강에 중요하다. 어쩌면 실제 코드보다 더 중요할지도 모르겠다. 테스트 코드는 실제 코드의 유연성 유지보수상, 재사용성을 보존하고 강화하기 때문이다.

    • 테스트 코드는 지속적으로 깨끗하게 관리하자. 표현력을 높이고 간결하게 정리하자. 테스트 API를 구현해 도메인 특화 언어를 만들자

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

오늘은 TDD를 아직 경험해본적이 없어서 약간 겉핥기식으로 읽은 느낌이었다. 읽기만 했을 때는 이해가 가긴 했지만 좀 더 TDD 경험치를 쌓고 다시 한 번 읽어봐야겠다.

profile
정말로 아는 것인지 항상 의심하기

0개의 댓글