7. 반복문 쪼개기
반복문을 단일 목적만을 수행하는 여러개의 반복문으로 쪼개기
리팩터링과 최적화는 구분하자. 여러개의 반복문이 병목이라는게 밝혀지면 그때 합치는건 간단
- 반복문 하나에서 두 가지 이상의 일을 할 때
절차
- 반복문을 복제해 두 개로 만든다.
- 반복문이 중복되어 생기는 부수효과를 파악해서 제거한다.
- 테스트한다.
- 완료됐으면, 각 반복문을 함수로 추출(6.1)할지 고민해본다.
예시 코드
😞 Before
let averageAge = 0
let totalSalary = 0
for (const p of people) {
averageAge += p.age
totalSalary += p.salary
}
averageAge = averageAge / people.length
😃 After
let totalSalary = 0
for (const p of people) {
totalSalary += p.salary
}
let averageAge = 0
for (const p of people) {
averageAge += p.age
}
averageAge = averageAge / people.length