Skip to main content

김시용

1. 📌 핵심 개념 정리

✅ 요약하기

각자 해당 챕터에서 중요하다고 느낀 개념이나 아이디어를 간략하게 정리하고 개선 전, 후에 대한 예시 코드를 비교하며 개념을 설명합니다.

  1. TDD 법칙 세가지
    • 실패 하는 단위 테스트를 작성할 때까지 실제 코드 작성하지 않는다.
    • 컴파일은 실패하지 않으면서 실행이 실패하는 저도로만 단위 테스트 작성한다.
    • 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
      이렇게 하면 방대한 테스트 코드가 나오므로 심각한 관리 문제를 유발하기도 함

  1. 깨끗한 테스트 코드
    • 테스트 코드는 실제 코드 못지 않게 중요하다.
    • 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다.
    • 테스트 코드는 실제 코드 처럼 가독성을 위해 명료성, 단순성, 풍부한 표현력 필요
    • 단, 실제 코드만큼 효율적일 필요는 없다 -> 실제 환경과 테스트 환경은 다르기 때문에
      ex) 임베디드 시스템인 경우 자원과 메모리가 많이 제한적이므로 StringBuffer 사용해야하지만 테스트 환경에서는 자원이 제한적일 가능성이 낮기에 테스트 코드는 StringBuffer가 보기 흉하므로 사용을 꺼린다.
    • 테스트 당 assert 하나, 개념 하나

  1. F.I.R.S.T
    • Fast : 테스트는 빨라야 하다.
    • Independent : 각 테스트는 서로 의존하면 안 된다.
    • Repeatable : 테스트는 어떤 환경에서도 반복 가능해야 한다.
    • Self-Validating : 테스트는 bool값으로 결과 내기
    • Timely : 테스트는 적시에 작성해야 한다.
      (단위 테스트는 테스트하려는 실제 코드를 구현하기 직전에 구현한다)

2. 🤔 이해가 어려운 부분

🔍 질문하기

책을 읽으며 이해하기 어려웠던 개념이나 명확하지 않았던 내용을 정리합니다.

  1. 개념 또는 원칙의 이름
    • 어려웠던 부분
      해당 개념이 헷갈리거나 명확하지 않았던 점을 구체적으로 설명합니다.
    • 궁금한 점
      해당 개념이 어떤 원리로 동작하는지, 실무에서 어떻게 활용되는지 등을 질문 형태로 정리합니다.

  1. 개념 또는 원칙의 이름
    • 어려웠던 부분
      .
    • 궁금한 점
      .

  1. 개념 또는 원칙의 이름
    • 어려웠던 부분
      .
    • 궁금한 점
      .

3. 📚 참고 사항

📢 논의하기

관련된 자료가 있다면 공유하고, 더 깊이 논의하고 싶은 아이디어나 의견을 정리합니다.

  1. 관련 자료 공유
    • 추가 자료
      관련 블로그 글이나 공식 문서 링크를 제공합니다.

  1. 논의하고 싶은 주제
    • 주제
      논의하고 싶은 내용을 간략히 정리합니다.
    • 설명
      논의하고 싶은 이유를 작성합니다.