오르막길

[CleanCode] 14~15일차 - 9장 TIL 본문

학습 기록하기/클린코드 챌린지

[CleanCode] 14~15일차 - 9장 TIL

nanalyee 2024. 9. 6. 09:21
9장
단위 테스트

 

책에서 기억하고 싶은 내용
  • TDD 법칙
    • 실패하는 단위테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
    • 컴파일은 실패하지 않음녀서 실행이 실패하는 정도로만 단위테스트를 작성한다.
    • 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
  • 깨끗한 테스트 코드
    • 테스트 코드는 실제 코드 못지않게 중요하다
    • 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위테스트이다!
    • 테스트케이스가 있다면 별다른 우려 없이 변경할 수 있게 된다
    • 가독성이 제일 중요하다
    • 최소의 표현으로 많은 것을 나타내야 한다.
  • 테스트당 assert 하나
    • 테스트를 분리하면 중복되는 코드가 많아진다.
    • Template method 패턴을 사용하면 중복을 제거할 수 있다.
    • 테스트당 개념 하나
  • FIRST
    • 빠르게: 테스트는 빨리 돌아야 한다.
    • 독립적으로: 각 테스트는 서로 의존하면 안된다.
    • 반복가능하게: 어떤 환경에서도 반복 가능해야 한다.
    • 자가검증하는: 테스트는 bool값으로 결과를 내야한다.
    • 적시에: 테스트하려는 실제 코드를 구현하기 직전에 구현한다.
오늘 읽은 소감

TDD의 학습 곡선이 좀 있지만 보다 나은 코드 품질, 개발 프로세스의 효율성 향상 같은 이유로 클린코드에 있어 필수적인 것을 알게 되었다. TDD에 대한 책을 따로 내야할 정도의 중요성이라는데 나는 집중적으로 다뤄본 적이 없어서 아쉬웠다. 언젠가 배우게 되면 좋을 것 같다.

궁금하거나 더 공부해야할 내용

"실패하는 단위테스트를 작성할 때까지 실제 코드를 작성하지 않는다"
개발자가 새로운 기능이나 코드 수정을 시작하기 전에 그 기능을 검증할 수 있는 테스트 케이스를 먼저 작성해야 함을 의미합니다. 이 테스트는 처음에는 실패할 것이라고 예상됩니다. 왜냐하면 테스트를 통과하기 위한 실제 코드가 아직 작성되지 않았기 때문입니다. 이러한 실패하는 테스트를 기반으로, 개발자는 테스트를 통과할 수 있는 최소한의 코드를 작성합니다. 그 후, 코드를 리팩토링하여 품질을 향상시킵니다.

 나의 최애 북틸 리스트

아무래도 내게 낯설었던 예외처리 위주로 찾아보았다.

https://blog.naver.com/kwakky1/222664086645

 

노마드 개발자 북클럽, 클린코드 오류처리

2022. 03. 04. 클린코드 노마드 개발자 북클럽 노개북 오류처리 안녕하세요! 앤디입니다. 클린코드 7장 오...

blog.naver.com

소감이나 개인적인 견해가 잘 드러나있어서 참고하기 좋았다.

https://nomadcoders.co/community/thread/9286

 

240206 TIL ; DAY08 – 노마드 코더 Nomad Coders

Post on 노마드 코더 Community

nomadcoders.co

이 글도 예외에 대한 관점은 조금 달랐다. 참고가 됐다.

https://webclub.tistory.com/71

 

예외 처리 - throw 및 try/catch/finally

throw & try/catch/finally(Exception Handling) 이 글에서는 예외 처리 방식에 대해 알아봅니다. 프로그램이 실행되는 동안 문제가 발생하면 프로그램이 자동으로 중단됩니다. 이럴 경우에 프로그램이 대처

webclub.tistory.com

그래서 자바스크립트입장에서 예외처리에 대한 자세한 글을 찾았다. 뭔가 아리송하기도 하고. 사실 예외처리을 중요하게 다뤄본적이 없어서 더 감이 안오는 것 같다. 그나마 이 글을 읽으니 이런식으로 사용하는구나.. 하고 맛보기 정도는 한 것 같아 선정했다.