[우아한테크세미나] tdd 리팩토링 정리

TDD 리팩토링 연습

1. 단위테스트 연습

  • 내가 사용하는 API 사용법을 익히기 위한 학습테스트
  • 어떻게 동작하는지 테스트 만들면서 연습 => 단위테스트, API 사용법을 익히게 됨

  • INPUT, OUTPUT이 명확한 메소드부터 단위테스트 연습

2. TDD 연습

  • 난이도가 낮거나 익숙한 문제로 시작, TDD 연습이 목적
  • 웹, 모바일, UI, DB에 의존관계를 가지지않는 요구사항으로 연습

3. 메소드 분리 리팩토링

(depth 줄이기, else 없애기, indent 줄이기, 로컬변수 줄이기 등)

  • 한번에 한 가지 명확하고 구체적인 목표로 진행. 극단적인 연습이 좋다. (step by step)
    • ex) 메소드 라인 수 15라인 -> 10라인 줄이기
    • compose method 패턴 적용 (추상화)
    • 모든 원시값과 문자열을 포장한다.
      • 클래스로 분리
  • 메인 메소드가 없이 기능 구현이 완료 => TDD 완벽 습득

5. 의존관계 추가된 테스트

  • 테스트하기 쉬운 코드와 어려운 코드를 보는 눈으로 어려운 부분을 쉬운 부분으로 분리

객체지향 생활체조 원칙

  1. 한 메서드에 오직 한 단계의 들여쓰기만 한다.
  2. else 예약어를 쓰지 않는다.
  3. 모든 원시값과 문자열을 포함한다.
  4. 한 줄에 점을 하나만 찍는다.
  5. 줄여쓰지 않는다.(축약금지)
  6. 모든 엔티티를 작게 유지한다.
  7. 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
  8. 일급 콜랙션을 쓴다.
  9. 게터/세터/프로퍼티를 쓰지 않는다.

메소드의 인상적인 인자 개수는 0개다. 되도록 3개 이상은 쓰지 말자.


리더로

1:1 면담에서 한 가지만 기억

  • ‘어떻게 하면 될까?’, ‘너라면 어떻게 할 것 같아?’ 반문
  • 한 가지에 집중. 선택한 Practice로 변화를 완료함으로써 작은 성공을 맛본다.
  • 면담,회고 -> pratice 선택 -> 한 가지에 집중 -> 작은 성공 사이클

작은 성공을 쌓아 큰 성공

  • 장난감 프로젝트로 TDD, 리팩토링 연습해 작은 성공 맛보기
  • 내가 구현하는 코드에 한해 TDD, 리팩토링 적용해 작은 성공 맛보기
  • 동료에게 짝 프로그래밍으로 TDD. 리팩토링 경험 전파해 작은 성공 맛보기
  • 같이 일하는 주변 사람들에게 변화를 만들어 큰 성공 맛보기

가장 필요한 것은 가보지 않은 길에 꾸준히 도전할 수 있는 용기

results matching ""

    No results matching ""