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 |
댓글