Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 1.26 KB

8.7 반복문 쪼개기.md

File metadata and controls

43 lines (33 loc) · 1.26 KB

8.7 반복문 쪼개기


배경

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;

왼쪽 코드보다 오른쪽 코드가 더 좋다고 한다… (왜지?)

반복문을 쪼개야 하는 이유

  1. 하나의 반복문 안에서 여러 기능을 수행하고 있는 코드는 나중에 수정할 때 두가지 로직을 모두 이해해야하만 수정할 수 있지만 반복문을 분리한다면 하나의 로직만 이해하고 변경 가능함
  2. 함수로 분리하거나 모듈화를 하는 경우에 반복문이 분리되어있어야 편하다
  3. 프로그램 완성 후 코드를 최적화할 때 분리돼있는 반복문을 합치는 것은 쉽지만, 하나로 돼있는 반복문을 분리하는 것은 복잡하다.

절차

  1. 반복문을 복제해 두 개로 만든다.
  2. 반복문이 중복되어 생기는 부수효과를 파악해서 제거한다
  3. 테스트한다
  4. 완료됐으면, 각 반복문을 함수로 추철할지 고민해본다.