8-7. 반복문 쪼개기

적용 시점

  • 서로 다른 작업이 하나의 반복문에서 이루어지는 경우

절차

  1. 반복문을 복재해 두 개로 만든다.

  2. 반복문이 중복되어 생기는 부수효과를 파악해서 제거한다.

  3. 테스트한다.

  4. 완료했으면, 각 반복문을 함수로 추출할지 고민해본다.

예시

❌Before

users = [
	{ rank: 1, uid: 'Kevin', damage: 20000}, 
	{ rank: 123, uid: 'John', damage: 19002 },
	{ rank: 20, uid: 'Zion', damage: 10002 }
]

let damage = 0;
highRank = 987654321;

for(const user of users) {
	if (highRank > user.rank) {
		highRank = user.rank;
	}
	total_damage += user.damage;
}

⭕After

users = [
	{ rank: 1, uid: 'Kevin', damage: 20000}, 
	{ rank: 123, uid: 'John', damage: 19002 }, 
	{ rank: 20, uid: 'Zion', damage: 10002 }
]

let damage = 0;
highRank = 987654321;

for(const user of users) {
	if (highRank > user.rank) {
		highRank = user.rank;
	}
}

for(const user of users) {
	total_damage += user.damage;
}

Last updated