플래그는 보통 함수에 매개변수로 전달해서, 함수 내부의 로직을 분기하는 데 사용한다. 플래그를 사용한 함수는 차이를 파악하기 어렵다. bookConcert(customer, false), bookConcert(customer, true) bookConcert(customer), premiumBookConcert(customer) 과연 여기서 Boolean 값이 하는 게 무엇일까! 조건문 분해하기를 활용할 수 있다. 함수 추출이 주를 이룬다. 플래그 인수 제거하기 package me.whiteship.refactoring._04_long_parameter_list._15_remove_flag_argument; import java.time.LocalDate; public class Shipment { public LocalDate deliveryDate(Order order, boolean isRush) { if (isRush) { int deliveryTime = switch (or...
#리팩토링
#백기선
#인프런
원문링크 : [Refactoring] 플래그 인수 제거하기