-
[리팩토링] 메서드 추출My-Book(History) 2015. 6. 7. 21:01반응형
1. 메서드 추출 : 어떤 코드를 그룹으로 묶어도 되겠다고 판단될때 그 코드를 빼내어 목적을 자 나타내는 직관적 이름의 메서드로 만들자
2. 메서드 내용 직접 삽입 : 메서드 기능이 너무 단순해서 메서드명만 봐도 너무 뻔할 땐 그 메서드의 기능을 호출하는 메서드에 넣어버리고 그 메서드는 삭제하자.
3. 임시변수를 메서드 호출로 전환 : 수식의 결과를 저장하는 임시변수가 있을땐 그 수식을 빼내에 메서드로 만든 후, 임시변수 참조 부분을 저부 수식으로 교체하자
Tip : 메서드 추출법을 사용하기 전에 사용하면 좋다. 왜냐면 지역변수가 많을 수록 메서드 추출이 힘들어지기 떄문이다.
값이 한번만 대입되는 임시변수 부터 찾자.
4. 매개변수로의 값 대입 제거 : 매개변수로 값을 대입하는 코드가 있을땐 매개변수 대신 임시변수를 사용하게 수정하자.
ex)
int discount (int inputVal, int quantity, int yearTodate() {
if (inputVal > 50) inputVal -= 2;
}
▼
int discount (int inputVal, int quantity, int yearTodate() {
int result = inputVal;
if (inputVal > 50) result -=2;
}
Tip : 값을 통한 전달과 참조를 통한 전달을 혼동하게 되기 떄문이다. 자바에선 매개변수에 값을 대입해서는 안된다.
반응형'My-Book(History)' 카테고리의 다른 글
[리팩토링] 메소드 인수를 조절한다. (0) 2015.06.27 [리팩토링] 조건문 쪼개기 & 매개변수 (0) 2015.06.13 JavaScript Patterns (DOM과 브라우저 패턴) (0) 2015.05.04 JavaScript Patterns ( 체이닝 패턴 & 싱글톤 패턴 & 반복자_iterator 패턴) (0) 2015.05.02 JavaScript Patterns (스태틱-> 이해가 되면 별도로 다시 올릴예정) (0) 2015.05.02