함수 호출 부분에 해당 함수의 본문 넣기
1. 다형 메서드인지 확인한다. (서브 클래스에서 오버라이드하는 메서드는 인라인하면 안 된다.)
2. 인라인할 함수를 호출하는 곳을 모두 찾는다.
3. 각 호출문을 함수 본문으로 교체한다.
4. 하나씩 교체할 때마다 테스트한다.
5. 함수 정의를 삭제한다.
moreThanFiveLateDeliveries 를 인라인 시키고자 한다.
// 변경전
function getRating(driver){
return moreThanFiveLateDeliveries(driver)?2:1;
}
function moreThanFiveLateDeliveries(driver){
return driver.numberOfLateDeliveries>5;
}
// 변경후
function getRating(driver){
return (driver.numberOfLateDeliveries>5)?2:1;
}
복잡한 예제
// 변경전
function reportLines(aCustomer){
const lines = [];
gatherCustomerData(lines, aCustomer);
return lines;
}
function gatherCustomerData(out, aCustomer){
out.push(["name", aCustomer.name]);
out.push(["location", aCustomer.location]);
}
// 한 줄 씩 변경을 한다.
function reportLines(aCustomer){
const lines = [];
lines.push(["name", aCustomer.name]);
lines.push(["location", aCustomer.location]);
return lines;
}
6.6. 변수 캡슐화하기 (Encapsulate Variable) (0) | 2021.09.26 |
---|---|
6.3. 변수 추출하기 (0) | 2021.09.26 |
6.1. 함수 추출하기 (0) | 2021.09.26 |
9.2. 필드 이름 바꾸기 (Rename Field) (0) | 2021.09.25 |
6.7. 변수 이름 바꾸기 (Rename Variable) (0) | 2021.09.25 |