-
리팩토링 : Replace Iteration with Recursion리팩토링 2013. 2. 8. 09:00작자 : Dave Whipp조건루프가 있는데 각 반복이 어떤걸 하는지 명확하지 않다면적용재귀호출하는 반복으로 대체하시오.적용전
unsigned greatest_common_divisor (unsigned a, unsigned b) { while (a != b) { if (a > b) { a -= b; } else if (b > a) { b -= a; } } }
적용후unsigned greatest_common_divisor (unsigned a, unsigned b) { if (a > b) { return greatest_common_divisor ( a-b, b ); } else if (b > a) { return greatest_common_divisor ( a, b-a ); } else // (a == b) { return a; } }
참조'리팩토링' 카테고리의 다른 글
리팩토링 : Replace Method with Method Object (0) 2013.02.10 리팩토링 : Replace Magic Number with Symbolic Constant (0) 2013.02.09 리팩토링 : Replace Inheritance with Delegation (0) 2013.02.07 리팩토링 : Replace Exception with Test (0) 2013.02.06 리팩토링 : Replace Error Code with Exception (0) 2013.02.05 댓글