함수형 코딩 일급추상1

쏙쏙 들어오는 함수형 코딩

Chapter 10 : 일급 함수1

함수 이름에 있는 암묵적 인자

함수 본문에서 사용하는 어떤 값이 함수 이름에 나타난다면 함수 이름에 있는 암묵적 인자는 코드의 냄새가 된다. 이를 암묵적 인자를 드러내기 리팩토링을 통해 암묵적 인자가 일급 값이 되도록 함수에 인자를 추가한다.

암묵적 인자 드러내기 리팩토링은 어떻게 하나요?

암묵적 인자를 명시적인 인자로 바꾸는 것이다. 암묵적 인자가 일급 값이 되도록 함수에 인자를 추가한다.

  1. 함수 이름에 있는 암묵적 인자를 확인한다.
  2. 명시적인 인자를 추가한다.
  3. 함수 본문에 하드 코딩된 값을 새로운 인자로 바꾼다.
  4. 함수를 호출하는 곳을 고친다.

함수 본문을 콜백으로 바꾼다.

함수 본문에 어떤 부분을 콜백으로 바꾼다. 일급 함수로 어떤 함수에 동작을 전달할 수 있다. 원래 있던 코드를 고차 함수로 만드는 강력한 방법이다.

  1. 함수 본문에서 바꿀 부분의 앞부분과 뒷부분을 확인한다.
  2. 리팩터링 할 코드를 함수로 빼낸다.
  3. 빼낸 함수의 인자로 넘길 부분을 또 다른 함수로 빼낸다.

일급 값이란?

언어에 있는 다른 값처럼 쓸 수 있다. 함수에 인자로 넘길 수도 함수의 리턴값으로 받을 수 도 있는 값. 필드명이 일급이라는 말은 객체나 배열에 담을 수 있다는 뜻이다.

일급으로 할 수 있는 것은?

  1. 변수에 할당
  2. 함수의 인자로 넘기기
  3. 함수의 리턴값으로 받기
  4. 배열이나 객체에 담기

데이터 지향이란?

이벤트와 엔티티에 대한 사실을 표현하기 위해 일반 데이터 구조를 사용하는 프로그래밍 형식이다. 데이터를 데이터 그대로 사용하는 것의 중요한 장점은 여러 가지 방법으로 해석할 수 있다는 점이다. 데이터가 미래에 어떤 방법으로 해석될지 미리 알 수 없기 때문에 필요할 때 알맞은 방법으로 해석할 수 있어야 한다.

일급과 고차는 무엇인가?

일급은 인자로 전달할 수 있다는 말이다. 고차는 함수가 다른 함수를 인자로 받을 수 있다는 말이다.

고차 함수는 무엇인가?

인자로 함수를 받거나 리턴값으로 함수를 리턴할 수 있는 함수를 말한다.

고차 함수의 좋은 점은 무엇인가?

코드를 추상화할 수 있다는 점이다. 반복되는 부분을 고차 함수로 추상화함으로 다른 부분만 함수로 넘겨받으면 된다.

코드를 왜 함수를 만들어 감싸서 넘기는가?

함수를 만들어 감싼 이유는 코드가 바로 실행되면 안 되기 때문이다. 함수의 실행을 미루는 일반적인 방법이다. 함수 안에 담아 실행을 미뤄 전달한 함수는 선택적으로 호출될 수 있고 나중에 호출될 수도 있다.

results matching ""

    No results matching ""