Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
8장 경계, 9장 유닛테스트. TIL
#clean_code
2년 전
923

오늘 TIL 3줄 요약

  • 외부 코드를 사용할 때는 필요한 기능만을 API로 노출시키도록 만들자 (wrapping, adapter pattern)

  • 테스트코드도 가독성이 중요하다.

  • 깨끗한 테스트를 위해 FIRST 원칙을 따르자

TIL (Today I Learned) 날짜

2022. 03. 05

오늘 읽은 범위

8장 경계, 9장. 유닛테스트

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

경계 (Boundaries)
외부코드 사용하기
  • 의도하지 않은 기능을 사용하게 하는 것을 막기

  • 필요없는 기능이 들어가는 것을 최대한 자제하기

경계살피기
  • 학습테스트

  • 예) 로깅: 아파치의 log4j (ㅋㅋㅋㅋ)

존재하지 않는 코드 사용하기
  • 인터페이스를 예측해서, 기능 단위로 만들기

깨끗한 경계
  • 분리

    • wrapping 또는 adapter pattern

단위테스트
TDD 법칙 3가지
  • 첫째 법칙: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.

  • 둘째 법칙: 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.

  • 셋째 법칙: 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.

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

    • 유닛테스트

  • 가독성

  • DSL

    • 유틸함수

  • 이중표준

    • 대개 메모리나 CPU 효율과 관련 있는 경우다. 코드의 깨끗함과는 철저히 무관하다.

  • 테스트 당 assert 하나

    • given-when-then

  • 테스트 당 개념하나

  • First

    • Fast

    • Independent

    • Repeatable

    • Self Validating

    • Timely

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 비록 현재, 실제 개발할 때 자바를 사용하고 있지는 않지만, 테스트코드를 작성하는 것에 대해 비교적 스스로가 관대했음을 재인식하게 되었다. 여전히 무조건적인 TDD 도입은 좋지 않다고 생각하지만, 역시 다음 스테이지에서 부터는 점진적 적용을 제안을 해보는 것이 좋겠다고 생각했다.

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

오늘 읽은 다른사람의 TIL