[우아한테크세미나] 190425 TDD 리팩토링

생성일
Dec 28, 2022 02:09 AM
태그
 

의식적인 연습이란?

  • TDD, 리팩토링을 무조건 많이 연습한다고 잘할 수 있을까?
  • 테스트하기 쉬운 코드와 어려운 코드를 보는 눈, 설계하는 감을 얻는 단계가 필요
  • 1만시간의 재발견 책 → 목적의식이 있는 연습에 얼마나 많은 시간을 투자했느냐?
  • 의식적인 연습의 7원칙
      1. 효과적인 훈련 기법이 수련되어 있는 기술 연마
      1. 개인의 컴포트 존을 벗어난 지점에서 진행, 자신의 현재 능력을 살짝 넘어가는 작업을 지속적으로 시도
      1. 명확하고 구체적인 목표를 가지고 진행
      1. 신중하고 계획적이다. 개인이 온전히 집중하고 의식적으로 행동할 것을 요구
      1. 피드백과 피드백에 따른 행동 변경을 수반
      1. 효과적인 심적 표상을 만들어내는 한편으로 심적 표상에 의존
      1. 기존에 습득한 기술의 특정 부분을 집중적으로 개선함으로써 발전시키고, 수정
  • 의식적인 연습 예시 (우테코 프리코스)
    • 1주차 - 컨벤션 지키기, 함수가 한 가지 일만 하도록 최대한 작게 만들기
    • 2주차 - 메소드 15라인 이하로, else 사용금지...
 

의식적인 연습으로 TDD, 리팩토링 적용 - 개인

  • TDD, 리팩토링 == 운동. 평생동안 연습하겠다는 마음가짐으로 시작
  • 시작하기 - 토이 프로젝트
    • 1단계 - 단위테스트 연습
    • 2단계 - TDD 연습
    • 3단계 - 메소드 분리
      • indent depth 1만 허용. 2부턴 메소드로 분리해내기
    • 4단계 - 토이프로젝트 난이도 높이기
    • 5단계 - 의존관계 추가
  • 우리가 TDD, 리팩토링에 실패하는 이유
    • 연습이 충분하지 않은 상태에서 레거시 애플리케이션에 테스트 코드 추가해 리팩토링과 같은 높은 난이도에 바로 도전
  • 메소드 인자 개수 3개이상은 피하라. 4개는 절대 안됨 → 이런걸 의식적인 연습의 목표로 삼자
 
 
 
 
 
 
 
 
 
 
 

Loading Comments...