[노개북] 클린코드 Day 14-15

chch·2024년 2월 8일
0

[노개북] 클린코드

목록 보기
9/10

TIL (2024.02.08-09)

📖 오늘 읽은 범위: 9장. 단위 테스트

✍️ 책에서 기억하고 싶은 내용

  • TDD 법칙 3가지
    • 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
    • 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
    • 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
  • 테스트는 유연성, 유지보수성, 재사용성을 제공한다.
    • 왜? 테스트 케이스가 있으면 변경이 두렵지 않으니까!
  • 깨끗한 테스트 코드는 가독성이 가장 중요하다. 최소의 표현으로 많은 것을 나타내야 한다.
  • 실제 환경에서는 절대로 안 되지만 테스트 환경에서는 전혀 문제없는 방식이 있다.
    • 메모리나 CPU 효율은 '실제 환경'에서만 중요하다.
  • 개념 당 assert 문 수를 최소로 줄여라.
  • 테스트 함수 하나는 개념 하나만 테스트하라.
  • F.I.R.S.T
    • Fast: 테스트는 빨리 돌아야 한다.
    • Independent: 각 테스트는 서로 의존하면 안 된다.
    • Repeatable: 어떤 환경에서도 반복 가능해야 한다.
    • Self-validating: 테스트는 bool 값으로 결과를 내야 한다.
    • Timely: 단위 테스트는 테스트하려는 실제 코드를 구현하기 직전에 구현한다.

💭 오늘 읽은 소감과 떠오르는 생각

  • 4년 전, 대학에 입학하고 첫 방학이었던 것 같다. 웹 개발을 파이썬과 장고로 처음 접했었는데, 그때 강의에서 TDD를 적용했다. 그때는 장고도 어려워 죽겠는데 TDD는 또 뭐야? 단위 테스트는 뭐고? 하면서 간신히 따라하면서 조각조각 이해했던 기억이 있다. 이제는 단위 테스트가 뭔지도 설명할 수 있고, 이번 챕터를 읽으면서 테스트 코드의 중요성에 대해서도 이해하게 되었다.
  • 이제는 적용해보는 것 밖에 안 남았으니 공부하면서 혼자 이것저것 짜봐야겠다.
  • 모든 것이 그렇겠지만.. 개발도 알면 알수록 어려운 것 같다.

🤨 궁금한 내용 또는 잘 이해되지 않는 내용

📖 나의 최애 북틸

  • tjdjd123123님의 TIL - 기능 구현할 시간조차 부족해서 야근하는 것이 일상이라는 말이 슬펐다...
  • 유자맛바나나님의 TIL - 정리를 완전 잘해주셨다. 책과 다른 build-operate-check 패턴 예제를 올려주셔서 이해하는데 도움이 되었다.
  • bartshin님의 TIL - 8장 내용을 정리해주셔서 복습하기 좋았다.

0개의 댓글