기억해두고 싶은 말
- 리팩터링이 필요한 이유는 변경 때문임.
- 리팩터링할 코드 영역을 꼼꼼하게 검사해줄 테스트 코드 마련하기.
- 리팩터링은 프로그램 수정을 작은 단계로 나눠 진행함.
- 중간에 실수하더라도 버그를 쉽게 찾을 수 있음.
- 좋은 코드에 대한 기준은 다양하지만
얼마나 수정하기 쉬운가
를 기준으로 삼는 데 이견이 없다.
함수 쪼개기
- 리팩터링은 프로그램 수정을 작은 단계로 나눠 진행함.
- 프로그램의 논리적인 요소를 쉽게 파악할 수 있도록 코드 구조를 보강해보자.
1. 함수 추출하기
2. 변수 이름 명확하게 하기
🧑💻 Rename variables to result and parameters to aPerformance
- thisAmount 대신 result로 변경.
- 함수의 변환 값에는 result라는 이름을 사용함.
- pref 보다는 aPerformance.
- 매개변수의 역할이 뚜렷하지 않을 떄는 부정 관사(a/an)을 붙임.
- 와닿지는 않음… 모국어인 사람에겐 다르게 느껴질 수도 있다고 생각함.
3. 임시 변수 줄이기
- 로컬 범위에 존재하는 이름이 늘어나서 추출 작업이 복잡해짐.
- 자신이 속한 루틴에서만 의미가 있어서 길고 복잡해지기 쉬움.
- 임시 변수를 질의 함수로 바꾸자 → play
- 또는 임시 변수를 인라인 변수로 바꾸자 → thisAmount