let averageAge = 0;
let totalSalary = 0;
for (const p of people){
averageAge += p.age;
totalSalary += p.salary;
}
averAge = averAge / people.length;
let averageAge = 0;
for (const p of people){
averageAge += p.age;
}
let totalSalary = 0;
for (const p of people){
totalSalary += p.salary;
}
averAge = averAge / people.length;
왼쪽 코드보다 오른쪽 코드가 더 좋다고 한다… (왜지?)
- 하나의 반복문 안에서 여러 기능을 수행하고 있는 코드는 나중에 수정할 때 두가지 로직을 모두 이해해야하만 수정할 수 있지만 반복문을 분리한다면 하나의 로직만 이해하고 변경 가능함
- 함수로 분리하거나 모듈화를 하는 경우에 반복문이 분리되어있어야 편하다
- 프로그램 완성 후 코드를 최적화할 때 분리돼있는 반복문을 합치는 것은 쉽지만, 하나로 돼있는 반복문을 분리하는 것은 복잡하다.
- 반복문을 복제해 두 개로 만든다.
- 반복문이 중복되어 생기는 부수효과를 파악해서 제거한다
- 테스트한다
- 완료됐으면, 각 반복문을 함수로 추철할지 고민해본다.