질의 함수란?

엉금엉금·2022년 7월 1일
0

오늘 만난 문제

목록 보기
9/24

질의 함수란?

  • 연산을 통해 값을 계산하여 반환하는 함수
    (아직도 깨달음을 얻지 못한 자신이 한탄스럽다...)

아래 코드는 대략적인 예이다.

int c = a + b
System.out.println(c);

위 코드에서 덧셈 연산하는 부분을 Extract Function 한다!

public int sum(int a, int b) {
	return a + b;
}

...
int c = sum(a, b);
System.out.println(c); // Or
System.out.println(sum(a, b));

리팩토링 7.임시 변수를 질의 함수로 바꾸기

Replace Temp with Query

  • 변수를 사용하면 반복해서 동일한 식을 계산하는 것을 피할 수 있고, 이름을 사용해 의미를 표현할 수도 있다.
  • 긴 함수를 리팩토링할 때, 임시 변수를 함수로 추출하여 분리한다면 빼낸 함수로 전달해야 할 매개변수를 줄일 수 있다.

리팩토링 14.매개변수를 질의 함수로 바꾸기

Replace Parameter with Query

  • 함수의 매개변수 목록은 함수의 다양성을 대변하며, 짧을수록 이해하기 좋다.
  • 어떤 한 매개변수를 다른 매개변수를 통해 알아낼 수 있다면 “중복 매개변수”라 생각할 수
    있다.
  • 매개변수에 값을 전달하는 것은 “함수를 호출하는 쪽”의 책임이다. 가능하면 함수를 호출하
    는 쪽의 책임을 줄이고 함수 내부에서 책임지도록 노력한다.
  • “임시 변수를 질의 함수로 바꾸기”와 “함수 선언 변경하기”를 통해 이 리팩토링을 적용한

리팩토링 19, 21에서도 질의 함수 처리 리팩토링에 대해서 다룰 수 있다.

profile
step by step

0개의 댓글