목표

  • 리펙토링의 필요성을 이해한다.
  • 리펙토링의 종류와 방법을 알아보자.

기억하기

  • 리펙터링 에서는 테스트가 아주 중요하다. 리펙터링 하기 전에 제대로 된 테스트부터 마련한다. 테스트는 반드시 자가진단 하도록 만든다.
  • 프로그램이 새로운 기능을 추가하기에 편한 구조가 아니라면,먼저 기능을 추가하기 쉬운 형태로 리팩터링하고 나서 원하는 기능을 추가한다.
  • 리펙터링은 프로그램 수정을 작은 단계로 나눠 진행한다. 그래서 중간에 실수하더라도 버그를 쉽게 잡을수 있다.

강의 요약

리펙터링의 종류들

  1. 함수 추출하기 - 별도 함수로 추출하기
  2. 임시 변수를 질의 함수로 바꾸기
  3. 함수 선언 바꾸기
  4. 변수 인라인 하기 - 변수를 제거하기
  5. 반복문 쪼개기 - 변수값을 누적시키는 부분을 분리
  6. 문장 슬라이드 하기 - 변수 초기화 문장을 변수 값 누적 코드 바로 앞으로 옮김

느낀점

  • 이론만가지고는 이해하기가 어렵다. 책에서 적절한 예시를 들어서 설명하고 있지만, 개념만 정리했다.
  • 다양한 리펙터링의 종류가 있으며 리펙터링된 함수를 보니. 한 함수당 하나의 역할만을 감당하고 있다는 것을 알 수 있었다.
  • 리펙터링에서 가장 중요한건 테스트 임을 다시한번 인지하게 되었다. 큰 수정이 아니더라도 꼭 확인해보는 것이 중요함을 알았다.

To do

  • 책에서 나온 예시를 직접 리펙터링 해보자.
  • 책의 결과값이랑 비교해보고 다시 책을 읽자.

결론

  • To do 해봐야 결론이 나올드

참고

Refactoring 2판 - 코드 구조를 체계적으로 개선하여 효율적으로 리펙터링 구현하기