-
리팩토링 : Split Loop리팩토링 2013. 2. 25. 09:00
작자 : Martin Fowler
조건
두가지를 수행하는 루프가 있다면
적용
루프를 분리하시오.
적용전
void printValues() { double averageAge = 0; double totalSalary = 0; for (int i = 0; i < people.length; i++) { averageAge += people[i].age; totalSalary += people[i].salary; } averageAge = averageAge / people.length; System.out.println(averageAge); System.out.println(totalSalary); }
적용후
void printValues() { double totalSalary = 0; for (int i = 0; i < people.length; i++) { totalSalary += people[i].salary; } double averageAge = 0; for (int i = 0; i < people.length; i++) { averageAge += people[i].age; } averageAge = averageAge / people.length; System.out.println(averageAge); System.out.println(totalSalary); }
참조
'리팩토링' 카테고리의 다른 글
리팩토링 : Substitute Algorithm (0) 2013.02.27 리팩토링 : Split Temporary Variable (0) 2013.02.26 리팩토링 : Separate Query from Modifier (0) 2013.02.24 리팩토링 : Separate Data Access Code (0) 2013.02.23 리팩토링 : Self Encapsulate Field (0) 2013.02.22 댓글