기능은 비슷하지만 몇 가지 값에 따라 결과가 달라지는 메서드가 있을때 각 메서드를 전달된 매개변수에 따라 다른작업을 처리하는 하나의 메서드로 만들면 편리하다.
class Employee {
void tenPercentRaise () {
salary *= 1.1;
}
void fivePercentRaise () {
salary *= 1.05;
}
}
위의 함수들을
void raise (double factor) {
salary *= (1 + factor);
}
이와 같이 고치면 된다.
'Development > Programming' 카테고리의 다른 글
[Refactoring] 객체를 통째로 전달 (0) | 2013.09.12 |
---|---|
[Refactoring] 매개변수를 메서드로 전환 (0) | 2013.09.11 |
[Refactoring] 상태 변경 메서드와 값 반환 메서드를 분리 (0) | 2013.09.09 |
[Refactoring] 메소드명 변경 (0) | 2013.09.09 |
[Refactoring] Null 검사를 Null 객체에 위임 하자 (0) | 2013.09.04 |