목표
- 리펙토링의 필요성을 이해한다.
- 리펙토링의 종류와 방법을 알아보자.
기억하기
- 리펙터링 에서는 테스트가 아주 중요하다. 리펙터링 하기 전에 제대로 된 테스트부터 마련한다. 테스트는 반드시 자가진단 하도록 만든다.
- 프로그램이 새로운 기능을 추가하기에 편한 구조가 아니라면,먼저 기능을 추가하기 쉬운 형태로 리팩터링하고 나서 원하는 기능을 추가한다.
- 리펙터링은 프로그램 수정을 작은 단계로 나눠 진행한다. 그래서 중간에 실수하더라도 버그를 쉽게 잡을수 있다.
강의 요약
리펙터링의 종류들 1) 함수 추출하기 - 별도 함수로 추출하기 2) 임시 변수를 질의 함수로 바꾸기 3) 함수 선언 바꾸기 4) 변수 인라인 하기 - 변수를 제거하기 5) 반복문 쪼개기 - 변수값을 누적시키는 부분을 분리 6) 문장 슬라이드 하기 - 변수 초기화 문장을 변수 값 누적 코드 바로 앞으로 옮김
느낀점
- 이론만가지고는 이해하기가 어렵다. 책에서 적절한 예시를 들어서 설명하고 있지만, 개념만 정리했다.
- 다양한 리펙터링의 종류가 있으며 리펙터링된 함수를 보니. 한 함수당 하나의 역할만을 감당하고 있다는 것을 알 수 있었다.
- 리펙터링에서 가장 중요한건 테스트 임을 다시한번 인지하게 되었다. 큰 수정이 아니더라도 꼭 확인해보는 것이 중요함을 알았다.
To do
- 책에서 나온 예시를 직접 리펙터링 해보자.
- 책의 결과값이랑 비교해보고 다시 책을 읽자.
결론
- To do 해봐야 결론이 나올드
참고
Refactoring 2판 - 코드 구조를 체계적으로 개선하여 효율적으로 리펙터링 구현하기