본문 바로가기

programming study/Refactoring

Refactoring - 6장 기본적인 리팩터링(1)

본 내용은 한달한권의 리팩터링 강의를 토대로 작성되었습니다.

1. 절차들에 깔린 의도

  • 이장의 리팩터링은 다른 리팩터링 절차에서 자주 참조할 기법들
    • 복잡하고 큰 리팩터링을 작은 리팩터링으로 나누어 진행
  • 절차를 여러 작은 리팩터링으로 쪼개는 이유
    • 겉보기 동작의 변화가 없도록하기 위해

2. 기법들

함수 추출하기 & 함수 인라인하기

  • 함수 추출은 함수 내부 로직들을 의도별로 묶어서 네이밍할 수 있을 때
    • 목적과 구현 분리
    • 함수 이름으로 의도를 파악할 수 있게 됨
    • 긴 함수, 중복 코드
  • 함수 인라인은 함수 본문이 이름만큼 명확할 때

변수 추출하기 & 변수 인라인하기

  • 변수 추출하기는 표현식을 이해하기 쉽도록 이름을 붙이는 것
    • 변수 별로 디버깅을 걸 수 있으므로 원인 파악이 용이해 짐
  • 변수 인라인하기는 표현식이 충분희 의도를 드러낼 때

함수 관련 기법

  • 함수 선언 바꾸기
    • 더 명시적인 이름으로 바꾸는 것
  • 매개변수 객체 만들기
    • 함수에 전달할 매개변수들을 하나의 객체로 묶기

변수 관련 기법

  • 변수 이름 바꾸기
  • 변수 캡슐화하기
    • 변수의 함수화
    • 변수는 일부분 변경이 불가하지만 함수는 일부분 변경이 가능
    • 데이터의 입출력을 통제하고 추가 로직을 용이하게 함