본문 바로가기

programming study/Refactoring

Refactoring - 기능 이동(2)

본 내용은 마틴 파울러의 Refactoring 2판을 토대로 작성되었습니다.

기능 이동

1. 인라인 코드를 함수 호출로 바꾸기

설명

  • 인라인 코드를 존재하는 함수가 대체할 수 있으면 바꾸기
  • 인라인 코드를 대체할 수 있는 라이브러리가 있으면 더 좋음
    • 단, 설계 유연성이 떨어질 수도 있음

2. 문장 슬라이드하기

설명

  • 관련된 코드를 한 곳에 모으는 것
    • ex) 같은 데이터 구조를 사용하는 문장들을 한데 모으기
  • 주로, 다른 리팩터링을 하기 전에 선행

3. 반복문 쪼개기

설명

  • 반복문에서 두가지 일을 수행하는 것을 지양
  • 반복문을 분리하면, 이해하기도 사용하기도 쉬워짐
  • 최적화에 위배되어 보이지만, 더 강력한 최적화를 위한 발판이 되어줄 수 있음

4. 반복문을 파이프라인으로 바꾸기

  • 반대 리팩터링 : 문장을 함수로 옮기기

설명

  • 컬렉션 파이프라인을 이용하여 처리과정을 일련의 연산으로 표현
    • 코드 가독성 증대
    • map, filter, forEach 등

5. 죽은 코드 제거하기

설명

  • 사용되지 않는 코드는 제거할 것
  • 동작을 이해하는데 큰 걸림돌이 될 수 있음