본문 바로가기
개발 방법론/리팩터링 이론

[Refactoring] 함수 인라인하기

by VictorMeredith 2023. 5. 1.

1. 함수 인라인하기 :

함수의 본문이 제목보다 읽기가 명확한 경우에는 함수를 인라인으로 넣어버린다.

- 함수의 본문이 제목보다 읽기 명확한 경우에는 함수제목이 거슬릴 뿐이다. 함수를 인라인으러 넣어버리는 작업을 행하기도 한다.

- 이전 단계에서 함수 추출하기의 반대 행위이며, 함수의 목적과 행위의 흐름을 파악하기 좋은 방향으로 추출 혹은 인라인을 진행한다.

- 좋은 코드는 컴퓨터가 읽기 좋은 코드가 아니고 사람이 읽기 좋은 코드이다. 그래서 이짓거리(리팩터링)를 하는거다. 

- 간접호출을 너무 과하게 쓰는 코드도 인라인 대상이다. 위임관계가 복잡하게 얽혀 있으면 인라인 해버려서 차라리 한눈에 파악이라도 하는 방향이 낫다.

 

2. 함수 인라인 절차

 1) 다형 메서드인지 확인한다 : 다형메서드란 동일한 이름을 가지지만 호출되는 객체의 유형에 따라 다른행동을 수행하는 메서드이다.

  - 서브클래스에서 오버라이드하는 메서드는 인라인하면 안 된다.

 2) 인라인할 함수를 호출하는 곳을 모두 찾는다.

 3) 각 호출문을 함수 본문으로 교체한다.

 4) 하나씩 교체할 때마다 단위테스트를 실행한다. (그냥 vsCode JEST확장 기본설정에서 저장하면 테스트 다 실행하는 걸로 해놓자.)

 5) 함수의 정의(원래 함수)를 삭제한다.

 

3. 예시

- 쉬워서 설명할 껀덕지가 없다. 

- 파라미터에 맞게 적절히 수정해서 적절히 끼워넣고 적절히 테스트하고 적절히 삭제하고 적절히 빌드하고 적절히 커밋한다.

'개발 방법론 > 리팩터링 이론' 카테고리의 다른 글

[Refactoring] 변수 추출하기  (0) 2023.05.03
[Refactoring] 함수 추출하기  (0) 2023.05.01
[Refactoring] 애자일과 TDD  (0) 2023.04.24

댓글