함수형 코딩 액션에서 계산 빼내기

쏙쏙 들어오는 함수형 코딩

Chapter 4 : 액션에서 계산 빼내기

이번 장에서 살펴볼 내용

  • 어떻게 함수로 정보가 들어가고 나오는지
  • 테스트하기 쉽고 재사용성이 좋은 코드를 만들기 위한 함수형 기술
  • 액션에서 계산을 빼내는 방법

테스트를 더 쉽게 하려면 어떤 조건이 필요한가요?

  • DOM 업데이트와 비즈니스 규칙은 분리되어야 한다.
  • 전역변수가 없어야 한다.

재사용하려면 어떤 조건들이 필요한가요?

  • 전역변수에 의존하지 않아야 한다.
  • 함수가 결괏값을 리턴해야 한다.
  • DOM을 사용할 수 있는 곳에서 실행된다고 가정하면 안된다.

함수에서 입력과 출력은 무엇인가요?

입력은 함수가 계산을 하기 위한 외부 정보이다. 출력은 함수 밖으로 나오는 정보나 어떤 동작이다.

액션에서 계산으로 어떻게 바꾸나요?

함수에서 암묵적 입력과 출력을 없애면 계산이 된다. 암묵적 입력은 인자(파라미터)로 암묵적 출력은 함수의 리턴값으로 바꾸면 된다.

명시적 입력과 출력, 암묵적 입력과 출력은 무엇인가요?

명시적 입력과 출력은 인자와 리턴값이다. 암묵적 입력과 출력은 인자외 다른 입력 (예. 전역변수), 리턴값 외 다른 출력(예. console.log)이다. 함수형 프로그래밍에서는 이를 부수 효과라고 한다. 부수 효과는 함수가 하는 주요 기능이 아니다.

액션에서 계산 빼내는 방법 : 서브루틴은 ?

계산에 해당하는 코드를 분리한다. 그리고 입력값은 인자로 출력값은 리턴값으로 바꾼다. 이 리팩터링 기법을 서브루틴이라고 한다. 기존 코드에서 동작은 바뀌지 않았다. 리팩터링에서 중요한 것은 동작은 바뀌지 않아야 한다.

카피 온 라이트는 무엇인가요?

어떤 값을 바꿀 때 복사해서 바꾸는 방법이다. 이는 불변성을 구현하는 방법 중 하나이다.

복사본을 만들지 않고 인자로 전달한 배열을 바꾸면 계산일까? 액션일까?

액션이라고 생각한다. 인자로 전달받은 배열을 바꾸면 결국 외부에 있는 배열을 바꾸게 되는 것이기 때문에 그 배열이 여러 곳에서 동시에 작업이 된다면 영향을 받는다. 인자로 받고 있지만 전역변수를 사용하는 것과 같다고 생각한다.

결론: 액션에서 계산을 빼내려면 어떻게 해야하는가?

암묵적 출력과 입력을 인자로, 리턴값으로 바꾼다.

results matching ""

    No results matching ""