Programming/리팩토링
[리팩토링 기술-5] 반복문을 처리하는 리팩토링
domean
2022. 11. 8. 11:46
👀 반복문 (Loops)
- 프로그래밍 언어 초기부터 있었던 반복문은
처음에는 별다른 대안이 없어서 간과했지만
최근 자바와 같은 언어에서 함수형 프로그래밍을 지원하면서
반복문에 비해 더 나은 대안책이 생겼다.
- "반복문을 파이프라인으로 바꾸는 (Replace Loop with Pipeline)" 리팩토링을 적용하면
필터나 맵핑같은 파이프라인 기능을 사용해
보다 빠르게 어떤 작업을 하는지 파악할 수 있다.
🙌 반복문을 파이프라인으로 바꾸기 (Replace Loop with Pipeline)
- 고전적인 반복문을 파이프라인 오퍼레이션을 사용해 표현하면 코드를 더 명확하게 만들 수 있다.
(1) filter : 전달받은 조건의 true에 해당하는 데이터만 다음 오퍼레이션으로 전달
(2) map : 전달받은 함수를 사용해 입력값을 원하는 출력값으로 변환하여 다음 오퍼레이션으로 전달
[ Berfore ]
[ After ]
stream에 들어있는 요소들을 한번 순회하면서
각각의 요소들을 fiter하고 mapping 하고 다시 filter 한 다음에
최종적으로 collect로 하나의 컬렉션으로 묶는 방법이다.
👀 반복되는 switch문 (Repeated Swtiches)
- 예전에는 switch문이 한 번만 등장해도 다형성 적용을 권장했다.
- 최근에는 다형성이 꽤 널리 사용되고 있으며,
여러 프로그래밍 언어에서 보다 세련된 형태의 switch문을 지원하고 있다.
- "반복해서 등장하는 동일한 switch문"이 존재할 경우,
새로운 조건을 추가하거나 기존의 조건을 변경할 때
모든 switch문을 찾아서 코드를 고쳐야 한다.
🙌 개선된 swtich문
[ Berfore ]
[ After ]
출처 : 인프런 강의 (백기선 - 코딩으로 학습하는 리팩토링)