리팩토링
-
리팩토링 : Substitute Algorithm리팩토링 2013. 2. 27. 09:00
조건알고리즘을 더욱 명료하게 하나로 변경하고 싶으면 적용메소드의 내용을 새로운 알고리즘으로 변경하시오. 적용전 String foundPerson(String[] people){ for (int i = 0; i < people.length; i++) { if (people[i].equals ("Don")){ return "Don"; } if (people[i].equals ("John")){ return "John"; } if (people[i].equals ("Kent")){ return "Kent"; } } return ""; } 적용후 String foundPerson(String[] people){ List candidates = Arrays.asList(new String[] {"Don", "Jo..
-
리팩토링 : Split Temporary Variable리팩토링 2013. 2. 26. 09:30
조건한번 이상 할당되는 임시변수가 있지만, 루프 변수도 아니고 임시변수를 수집하지도 않으면 적용각 할당에 대한 임시변수를 분리하도록 만드시오. 적용전 double temp = 2 * (_height + _width); System.out.println (temp); temp = _height * _width; System.out.println (temp); 적용후 final double perimeter = 2 * (_height + _width); System.out.println (perimeter); final double area = _height * _width; System.out.println (area); 참조http://www.refactoring.com/catalog/splitTempo..
-
리팩토링 : 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 ..