[리팩터링 카탈로그] 1-2. 함수 인라인하기

  1. 다형 메서드polymorphic method인지 확인한다.
  2. 인라인할 함수를 호출하는 곳을 모두 찾는다.
  3. 각 호출문을 함수 본문으로 교체한다.
  4. 하나씩 교체할 때마다 테스트한다.
  5. 함수 정의(원래 함수)를 삭제한다.

예시

Before:

function getRating(driver) {
  return moreThanFiveLateDeliveries(driver) ? 2 : 1;
}
function moreThanFiveLateDeliveries(driver) {
  return driver.numOfLateDeliveries > 5;
}

After:

function getRating(driver) {
  return (driver.numOfLateDeliveries > 5) ? 2 : 1;
}

출처 : 리팩터링 2판 – Chapter6

댓글 남기기