- 다형 메서드polymorphic method인지 확인한다.
- 인라인할 함수를 호출하는 곳을 모두 찾는다.
- 각 호출문을 함수 본문으로 교체한다.
- 하나씩 교체할 때마다 테스트한다.
- 함수 정의(원래 함수)를 삭제한다.
예시
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