[Refactoring] 기능 편애


[Refactoring] 기능 편애

어떤 모듈에 있는 함수가 다른 모듈에 있는 데이터나 함수를 더 많이 참조하는 경우에 발생한다. 예) 다른 객체의 getter를 여러 개 사용하는 메서드 관련 리팩토링은 다음과 같다. 다른 모듈에 있는 걸 많이 참조한다면 위치가 잘못된 것이기에 함수 옮기기를 통해서 적절한 위치로 옮긴다. 함수의 일부분만 다른 곳의 데이터와 함수를 많이 참조한다면 함수 추출하기로 함수를 나눈 다음에 함수를 옮길 수 있다. 만약에 여러 모듈을 참조하고 있다면, 그중에서 가장 많은 데이터를 참조하는 곳으로 옮기거나, 함수를 여러 개로 쪼개서 각 모듈로 분산 시킬 수도 있다. 데이터와 해당 데이터를 참조하는 행동을 같은 곳에 두도록 하자. 기능 편애 package me.whiteship.refactoring._09_feature_envy; public class Bill { private ElectricityUsage electricityUsage; private GasUsage gasUsage; publi...


#리팩토링 #백기선 #인프런 #자바

원문링크 : [Refactoring] 기능 편애