- 리펙토링 (리펙터링 2판 - 마틴 파울러)
- 리펙토링을 할 때는 작은 작업을 한 후
빌드 - 테스트 - 커밋
과정을 꼭 거쳐야 한다! - 리펙토링 순서
- 로직 개선
- 반복문 쪼개기 (8.7절) : 변수 값을 누적시키는 부분을 분리한다.
- 문장 슬라이드하기 (8.6절) : 변수 초기화 문장을 변수 값 누적 코드 바로 앞으로 옮긴다.
-
함수 추출하기 (6.1절) : 적립 포인트 계산 부분을 별도 함수로 추출한다.
함수 추출 시 체크 포인트
- 값이 바뀌지 않는 변수는 매개변수로 전달
- 매개변수의 역할이 뚜렷하지 않을 때는 부정 관사(a/an)를 붙여라
- 로컬에 존재하는 임시 변수를 질의함수로 바꿔라 (7.4절)
- 범위가 좁은 함수, 변수의 이름은 짧게 짓는다
- 매개변수가 많을 때는 중간 데이터에 모두 담아서 전달하는 것도 좋다
- 변수 인라인하기 (6.4절) : 변수를 제거하고 함수를 바로 호출하여 사용한다.
- 단계 쪼개기 (6.11절) : 예, 계산 단계와 포맷팅 단계 분리
- 조건부 로직을 다형성으로 바꾸기 (10.4절)
- 로직 개선
- 리펙토링을 할 때는 작은 작업을 한 후