본문 바로가기

Development/Programming

[Refactoring] 매개변수 세트를 메서드로 전환

객체가 A 메서드를 호출해서 그 결과를 B 메서드에 매개변수로 전달하는데, 결과를 매개변수로 받는 B 메서드도 직접 A메서드를 호출 할 수 있을 땐 매개변수를 업애고 A 메서드를 B메서드가 호출하게 하자


int basePrice = _quantity * _temPrice;

discountLevel = getDiscountLevel();

double finalPrice = discountedPrice (basePrice, discountLevel);


위의 코드를 보면  getDiscountLevel() 함수를 내부적으로 호출 할수 있다. 이것을 내부적으로 discountedPrice에서 호출하도록 한다.


int basePrice = _quantity * _itemPrice;

doble finalPrice = discountedPrice (basePrice);


하지만 경우에 따라 값이 달라지는 함수의 경우 하지 않는 것이 좋다.