2009-09-24 3 views
1

질문은 리팩토링에 관한 것입니다. 이름 바꾸기 메소드 리팩토링을 고려하십시오. 이 리팩토링은 이전 및 새 이름을 사용하는 메타 메서드로 시각화 할 수 있으며 이전 메서드 이름을 새 메서드로 변경할 수 있습니다. 그래서모든 리 팩토링은 매개 변수화됩니까?

야유() { 에

foo는() { ......... .........}

을 리팩토링 ......... ......... }

리팩토링에 대한 메타 방법이 될 것이다 ...

이름 바꾸기 방법 (foo, boo)

이것을 매개 변수화 된 리팩터링이라고합니다. 제 질문은 http://www.refactoring.com/catalog/에 언급 된 모든 리팩토링은 일부 매개 변수가 있다고 생각하거나 이러한 매개 변수가 필요없는 리팩터링입니까?

답변

2

매개 변수가 필요없는 "코드 정리"가 있습니다. 당신이 그 (것)들에게 리팩토링 전화를 걸거나 것인지되지 알아,하지만하지 않습니다

if (condition) { 
    return firstValue; 
} else { 
    return secondValue; 
} 

에 : 더욱 더

return condition ? firstValue : secondValue; 

또는 :

if (condition) { 
    return true; 
} else { 
    return false; 
} 

에 :

return condition; 

하지만 "적절한"리펙토링 고양이 거기에 매개 변수가 필요없는 일부가 있습니다. 예를 들어, hide method 리팩토링은 메서드를 private으로 만들고 "reduce scope of variable"은 선언 만 이동합니다.