[우아한테크세미나] 190425 TDD 리팩토링
의식적인 연습이란?
- TDD, 리팩토링을 무조건 많이 연습한다고 잘할 수 있을까?
- 테스트하기 쉬운 코드와 어려운 코드를 보는 눈, 설계하는 감을 얻는 단계가 필요
- 1만시간의 재발견 책 → 목적의식이 있는 연습에 얼마나 많은 시간을 투자했느냐?
- 의식적인 연습의 7원칙
- 효과적인 훈련 기법이 수련되어 있는 기술 연마
- 개인의 컴포트 존을 벗어난 지점에서 진행, 자신의 현재 능력을 살짝 넘어가는 작업을 지속적으로 시도
- 명확하고 구체적인 목표를 가지고 진행
- 신중하고 계획적이다. 개인이 온전히 집중하고 의식적으로 행동할 것을 요구
- 피드백과 피드백에 따른 행동 변경을 수반
- 효과적인 심적 표상을 만들어내는 한편으로 심적 표상에 의존
- 기존에 습득한 기술의 특정 부분을 집중적으로 개선함으로써 발전시키고, 수정
- 의식적인 연습 예시 (우테코 프리코스)
- 1주차 - 컨벤션 지키기, 함수가 한 가지 일만 하도록 최대한 작게 만들기
- 2주차 - 메소드 15라인 이하로, else 사용금지...
의식적인 연습으로 TDD, 리팩토링 적용 - 개인
- TDD, 리팩토링 == 운동. 평생동안 연습하겠다는 마음가짐으로 시작
- 시작하기 - 토이 프로젝트
- 1단계 - 단위테스트 연습
- 2단계 - TDD 연습
- 3단계 - 메소드 분리
- indent depth 1만 허용. 2부턴 메소드로 분리해내기
- 4단계 - 토이프로젝트 난이도 높이기
- 5단계 - 의존관계 추가
- 우리가 TDD, 리팩토링에 실패하는 이유
- 연습이 충분하지 않은 상태에서 레거시 애플리케이션에 테스트 코드 추가해 리팩토링과 같은 높은 난이도에 바로 도전
- 메소드 인자 개수 3개이상은 피하라. 4개는 절대 안됨 → 이런걸 의식적인 연습의 목표로 삼자
Loading Comments...