본문 바로가기
독서/클린 코드

TIL 8장. 경계, 단위테스트

by 동배_ 2022. 3. 6.

TIL (Today I Learned)

2022.03.06

 

오늘 읽은 범위

8장. 경계

9장. 단위테스트

 

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

  • 외부 인터페이스 등을 붙히거나 이용해야할때 adapter등을 통하여 변환하여 사용하면 경계가 분리되어 깔끔한 코드가 될 수 있다.
  • 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 테스트케이스가 없다면 모든 변경이 잠재적 버그이다.1.
  • TDD법칙 3가지
    • 실패하는 단위 테스트를 작성할 때 까지 실제 코드 작성하지 않는다.
    • 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
    • 현재 실페하는 테스트를 통과할 정도로 실제 코드를 작성한다.

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

 

이번 장에는 외부 경계와 관련된 내용과 테스트 코드에 관련한 내용을 접하게 되었다. 저 두가지 내용은 내가 실제로 접해보지 않는 내용이거나 궁금해보지 않은 내용이였기에 내용 이해에 살짝 어려움이 있었다. 

 

최근 사내 스터디 등 각종 개발 커뮤니티에서도 TDD의 중요성을 알리고 있고 나도 그에 관해 공감하고 있다. 하지만 TDD의 방법 미숙 + 개발속도를 위해 테스트코드를 작성하고 있지 않지만 이번 프로젝트가 끝나고나면 TDD를 제대로 해볼 예정이다. (사실 회사에서 하는 API를 만들고 어짜피 테스트코드를 작성해야한다. )

 

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

 

내가 사내에서 외부 리소스 및 정산 쪽을 맡게 되면서 개발을 하면서 계속 기획, 설정이 바뀌고 있다. 이건 물론 기획 및 구현 미숙이라는 점도 있지만 이 모든 것을 신입인 내가 통제할 수가 없다고 생각한다. 

내가 알기론 TDD는 개발속도는 느리지만 추후에 유지보수까지 감안한다면 훨씬 공수가 적게들 수 있는 방법이라고 알고 있는데 TDD를 통하여 개발을 하는 도중(거의 완료) 기획 또는 설계가 변경된다면 다시 오랜 시간을 들여(상대적으로) 작성을 해야하는가?가 의문이다. 물론 좋은 기획과 설계가 있다면 TDD 방법에 관하여 대찬성이다. 이를 한번 알아보아야겠다.

댓글