카테고리 없음
리팩터링 2판 요약
바코94
2022. 10. 8. 00:18
#정의
리팩터링: [명사] 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법
리팩터링은 기능의 변경이 없어야 한다. 즉, 동작하던 기능이 절대 변경되어서는 안된다. 리팩토링 이후 기존 테스트가 통과해야 한다.
# 기본적인 리팩터링
- 함수 추출하기 -> 무슨 일을 하는지 파악한 다음, 독립된 함수로 추출하고 목적에 있는 맞는 이름을 붙인다.
- 함수 인라인하기 -> 함수 본문이 이름만큼 명확한 경우나 함수로 잘못 추출된 함수들을 인라인한다
- 변수 추출하기 -> 표현식이 너무 복잡해서 어려울 때 적절한 변수명을 사용하여 코드의 목적을 명확하게 드러낸다
- 변수 인라인하기 -> 변수의 이름이 표현식과 다를 바 없을 때는 변수를 인라인한다.
- 함수 선언 바꾸기 -> 함수의 이름을 바꾸는 것으로 정적 타입 언어인 상황에서 IDE를 이용하면 쉽게 가능하다.
- 변수 캡슐화하기 -> 변수를 직접 다루지 않고 변수를 다루는 함수를 선언해서 사용하도록 변경한다. 변수를 직접 다루면 이후 변경이 생겼을 때 데이터를 직접 참조하는 부분을 전부 신경써주어야 하기 때문이다
- 변수 이름 바꾸기 -> 변수의 이름을 의도를 명확하게 전달할 수 있는 이름으로 정한다.
- 매개변수 객체 만들기 -> 데이터 항목 여러 개가 함께 몰려다니는 경우에 데이터 구조 하나로 모아준다. 데이터 뭉치를 잘 찾는 것이 핵심