본 내용은 한달한권의 리팩터링 강의를 토대로 작성되었습니다.
1. 절차들에 깔린 의도
- 이장의 리팩터링은 다른 리팩터링 절차에서 자주 참조할 기법들
- 복잡하고 큰 리팩터링을 작은 리팩터링으로 나누어 진행
- 절차를 여러 작은 리팩터링으로 쪼개는 이유
- 겉보기 동작의 변화가 없도록하기 위해
2. 기법들
함수 추출하기 & 함수 인라인하기
- 함수 추출은 함수 내부 로직들을 의도별로 묶어서 네이밍할 수 있을 때
- 목적과 구현 분리
- 함수 이름으로 의도를 파악할 수 있게 됨
- 긴 함수, 중복 코드
- 함수 인라인은 함수 본문이 이름만큼 명확할 때
변수 추출하기 & 변수 인라인하기
- 변수 추출하기는 표현식을 이해하기 쉽도록 이름을 붙이는 것
- 변수 별로 디버깅을 걸 수 있으므로 원인 파악이 용이해 짐
- 변수 인라인하기는 표현식이 충분희 의도를 드러낼 때
함수 관련 기법
- 함수 선언 바꾸기
- 더 명시적인 이름으로 바꾸는 것
- 매개변수 객체 만들기
- 함수에 전달할 매개변수들을 하나의 객체로 묶기
변수 관련 기법
- 변수 이름 바꾸기
- 변수 캡슐화하기
- 변수의 함수화
- 변수는 일부분 변경이 불가하지만 함수는 일부분 변경이 가능
- 데이터의 입출력을 통제하고 추가 로직을 용이하게 함
'programming study > Refactoring' 카테고리의 다른 글
Refactoring - 기능 이동(2) (0) | 2022.02.04 |
---|---|
Refactoring - 기능 이동(1) (0) | 2022.02.02 |
Refactoring - 캡슐화(2) (0) | 2022.01.24 |
Refactoring - 4장 테스트 구축하기 (0) | 2022.01.15 |
Refactoring - 3장 코드에서 나는 악취 (0) | 2022.01.14 |