의식적인 TDD, 리팩토링

의식적인 TDD, 리팩토링

의식적으로 목표를 설정하라.

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

TDD. 리팩토링 == 운동

평생동안 연습하겠다는 마음가짐으로 시작

시작하기

  • 애인과 만남 시간 조정
  • 친구들과의 관계 끊기
  • TV보지 않기, 게임하지 않기

위 처럼 우선순위를 확보 해서 시간을 만들어야 된다.

토이 프로젝트로 시작해야 된다.

주변 환경에 영향을 받지 않고 꾸준히 연습하기 위함.

단위 테스트 연습

내가 사용하는 API를 단위 테스트를 만들면서 학습을 시작

input과 output이 명확하면 연습하기 편하다.

TDD 라이프 사이클

실폐하는 테스트 -> 성공하는 테스트 -> 리팩토링

메소드 분리 연습

의식적으로 하면 된다

  1. 들여쓰기는 1만 한다.
  2. else는 없에 버린다.
  3. 메소드가 한가지 일만하자.
  4. 로컬 변수가 필요한가?.
  5. 추상화 레벨을 똑같이 맞춰라.
  6. 라인수를 줄이기.(10라인 -> 5라인)

클래스 분리

  1. 모든 원시값과 문자열을 포장하라.
  2. 일급 콜렉션을 사용하라.
  3. 인스턴스 변수를 3개이상 만들지 않는다.

토이 프로젝트 난이도 높이기

게임과 같이 요구사항이 명확한 프로그램으로 연습

의존관계를 추가하는 난이도로 높이기

팀에 도입하기

변화를 하기 힘들다 그래도 난 묵묵하게 혼자 진행한다.

리더가 하지 말라고 하면 그만둔다.

참조