간단한 수식의 결과값을 가지는 임시 변수가 있고, 그 임시 변수가 다른 리팩토링을 하는데 방해가 된다면
이 임시변수를 참조하는 부분을 모두 원래의 수식으로 바꿔라
동기
절차
double basePrice = anOrder.basePrice(); return (basePrice > 1000)
return (anOrder.basePrice() > 1000)
동기
- 대부분의 경우 Inline Temp는 Replace Temp with Query의 한 부분으로 사용된다.
- 진짜 동기는 그쪽에 있다.
- Inline Temp가 자신의 목적으로 사용되는 유일한 경우
- 메소드 호출의 결과값이 임시 변수에 대입되는 경우
- 임시 변수가 Extract Method와 같은 리팩토링에 방해가 된다면
- 인라인화 하라
절차
- 임시 변수를 final로 선언한 다음 컴파일 하라
- 이것은 임시 변수에 값이 단 한번만 대입이 되고 있는지를 확인하기 위한 것이다
- 임시변수를 참조하고 있는 곳을 모두 찾아 대입문의 우변에 있는 수식으로 바꾼다.
- 각각의 변경에 대해 컴파일과 테스트를 한다
- 임시 변수의 선언과 대입문을 제거한다
- 컴파일과 테스트 한다.
'프로그램언어 > Refactoring' 카테고리의 다른 글
[ Refactoring ] Split Temporary Variable (2) | 2010.12.01 |
---|---|
[ Refactoring ] Introduce Explaing Variable (0) | 2010.11.29 |
[ Refactoring ] Replace Temp with Query Method (0) | 2010.11.29 |
[ Refactoring] Inline Method (0) | 2010.11.24 |
[Refactoring] Extract Method (0) | 2010.11.23 |