비즈니스 처리 로직을 리팩토링하면서 좋은 참고 자료가 있기에 공부해보았다.
1) 아예 조건 자체를 함수로 바꾼다. 이때 함수의 return type은 조건 자체, 즉 문자열이다.
2) Early Return - 조건을 만족하여 바로 return할 수 있는 항목은 바로 return하여 제거한다. 이때 "공통으로 적용 혹은 중복되는 조건"을 찾는 것이 중요하다.
3) Lookup Table 기법 - 일급객체를 이용한 기법, 기존 if-else의 복잡한 형태가 아닌 key-vale 형태의 논리로 캡슐화한다(*일급객체/일급컬렉션을 같이 공부하면서 이 부분은 따로 기술).
4) 연쇄책임패턴 - Lookup Table의 단일비교 단점을 보완하여, 분기문의 블럭들을 객체화하여 다수의 분기처리를 객체화된 형태로 연쇄 처리하는 것이다.
if-else 리팩토링 : https://inpa.tistory.com/entry/%E2%9A%99%EF%B8%8F-if-else-refactoring
(*일급객체/일급컬렉션 개념)