오늘 TIL 3줄 요약
- 경계
- 오픈소스 등의 외부코드를 나의 코드에서 호출하는 부분
- 경계에서는 예상치 못한 일이 있을 수 있으니 최대한 깔끔하게 분리하여 관리하기
- 단위테스트
- 테스트코드는 가독성이 중요
- 테스트 함수마다 한 개념만 테스트하기
- F.I.R.S.T 원칙 (깨끗한 테스트가 따르는 다섯가지 규칙)
TIL (Today I Learned) 날짜
2024.05.16(목)~17(금)
오늘 읽은 범위
8장. 경계, 9장. 단위 테스트
책에서 기억하고 싶은 부분
8장 경계.
- 학습 테스트는 공짜 이상이다. 패키지 새 버전이 나온다면 학습 테스트를 돌려 차이가 있는지 확인한다. .... 경계 테스트가 있다면 패키지의 . 새버전으로 이전하기 쉬워진다. 그렇지 않다면 낡은 버전을 필요 이상으로 오랫동안 사용하려는 유혹에 빠지기 쉽다.
9장. 단위 테스트
- TDD 세 가지 법칙
1) 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
2) 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
3) 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
- F.I.R.S.T (깨끗한 테스트가 따르는 다섯가지 규칙)
1) Fast 빠르게 : 테스트는 빨리 돌아야 한다. 테스트가 느리면 자주 돌릴 엄두를 못 낸다
2) Independent 독립적으로 : 각 테스트는 서로 의존하면 안 된다. 각 테스트는 독립적으로 그리고 어떤 순서로 실행해도 괜찮아야 한다.
3) Repeatable 반복가능하게 : 테스트는 어떤 환경에서도 반복 가능해야 한다. 테스트가 돌아가지 않는 환경이 하나라도 있다면 테스트가 실패한 이유를 둘러댈 변명이 생긴다.
4) Self-Validating 자가검증하는 : 테스트는 boolean 값으로 결과를 내야 한다. 성공 아니면 실패
5) Timely 적시에 : 테스트는 적시에 작성해야 한다. 단위 테스트는 테스트하려는 실제 코드를 구현하기 직전에 구현한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
9장의 가장 마지막 단락
이 장은 주제를 수박 겉핥기 정도로만 훑었다. 사실상 깨끗한 테스트 코드라는 주제는 책 한 권을 할애해도 모자랄 주제다.
테스트 코드에 대해 경험이 없다보니 책의 내용이 깊이 와닿진 않았다.
리액트의 Jest와 같은 테스트 라이브러리는 들어보기만 했지 구현하고 테스트는 직접 QA를 진행하고 있다.
다른 분들의 소감을 읽어보니 먼 미래에는 기회가 되면 공부해보고 싶다.
어려운 개념
새로운 클래스로 경계를 감싸거나 Adapter 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환하자
오늘 읽은 다른 사람들의 TIL
https://nomadcoders.co/community/thread/3334
8장의 내용과 클린코드의 연관성에 대해 깊은 고찰이 인상깊었다.
https://nomadcoders.co/community/thread/3391
위와 동일한 분의 글인데, 깊이있는 글이라 생각이 들어 읽어보았다.
https://ash-brother-fd3.notion.site/TIL-CLEAN-CODE-9-a19f48a3dee34fcfac395b46fd475b18
깔끔한 정리
'개발자 소양 독서 도전기 > 클린코드' 카테고리의 다른 글
클린코드 직접 실습하기 (0) | 2024.05.23 |
---|---|
10장 클래스 (0) | 2024.05.21 |
7장. 오류처리 (1) | 2024.05.16 |
클린코드 6장 객체와 자료구조 (0) | 2024.05.13 |
클린코드 5장. 형식 맞추기 (0) | 2024.05.13 |