-
리팩토링 : Replace Static Variable with Parameter리팩토링 2013. 2. 16. 09:00
작자 : Marian Vittek
조건
정적변수에 의존적인 함수가 더 일반적인 컨텍스트에서 재사용되어야 한다면
적용
함수에 새 파라메터를 추가하고 함수내의 정적 변수에 대한 모든 참조를 이 새 파라메터로 대체하시오.
적용전
void printValues() { for (int i = 0; i < people.length; i++) { System.out.println(people[i].name+" has salary "+people[i].salary); } } public static void main(String args[]) { ... printValues(); }
적용후
void printValues(PrintStream outfile) { for (int i = 0; i < people.length; i++) { outfile.println(people[i].name+" has salary "+people[i].salary); } } public static void main(String args[]) { ... printValues(System.out); }
참조
http://www.refactoring.com/catalog/replaceStaticVariableWithParameter.html
'리팩토링' 카테고리의 다른 글
리팩토링 : Replace Temp with Query (0) 2013.02.18 리팩토링 : Replace Subclass with Fields (0) 2013.02.17 리팩토링 : Replace Recursion with Iteration (0) 2013.02.15 리팩토링 : Replace Record with Data Class (0) 2013.02.14 리팩토링 : Replace Parameter with Method (0) 2013.02.13 댓글