refactoring(2)
-
조건이 복잡한 IF/ELSE-IF 문 리팩토링
개발을 처음 시작하면서부터 지금까지 써온 if 문은 과연 얼마나 될까. 사람의 생각 흐름과 가장 비슷하게 표현되는 문법이라서 그런지 무의식적으로도 많이 써온 것 같다. 하지만 구현해야 하는 로직이 복잡할수록, 다뤄야 하는 객체의 양이 많을수록 무한정 늘어나는 if/else-if 들은 점점 내 시야를 아득히 벗어나 제어할 수 없는 지경에 이르고야 만다. 앞선 enum 의 활용글에서도 언급한 바와 같이 경우에 따라서 enum 으로 if 문을 리팩토링이 가능하다. enum 으로 리팩토링이 가능한 경우는 if 문의 조건식이 특정 value 와 equal 인지를 판별하고 그 value 를 상수로 정의 가능할때 비로소 리팩토링을 할 수가 있었다. 하지만 언제나 그렇듯 코드는 우리가 원하는대로 그렇게 간단한 조건만을..
2023.01.06 -
[Spring] 같은 계층의 N개의 의존성 리팩토링
배송 추적을 하기 위한 서비스 계층을 개발한다고 가정해보자. 우리는 먼저 간단하게 interface 를 작성하고 각 배송사의 이름으로된 구현체를 작성할 것이다. 그리고 이를 호출하게 되는 서비스까지. // 배송조회 결과를 담을 클래스 // 여기서는 간단하게 문자열 status 만 받도록 한다 public class TrackingInfo { private final String status; public TrackingInfo(String status) { this.status = status; } public String getStatus() { return status; } } public interface DeliveryCompany { TrackingInfo getTrackingInfo(); } ..
2022.10.11