8-7. 반복문 쪼개기
적용 시점
서로 다른 작업이 하나의 반복문에서 이루어지는 경우
절차
반복문을 복재해 두 개로 만든다.
반복문이 중복되어 생기는 부수효과를 파악해서 제거한다.
테스트한다.
완료했으면, 각 반복문을 함수로 추출할지 고민해본다.
예시
❌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