개발공부/함수형코딩

함수형 코딩 - #Chapter 3

킴승 2023. 12. 7. 17:16

액션과 계산, 데이터는 어디에나 적용할 수 있습니다.

 

장보기 과정

액션 냉장고 확인하기
액션 운전해서 상점으로 가기
액션 필요한 것 구입하기
액션 운전해서 집으로 오기

 

각 과정들이 액션인 이유

-냉장고 확인하기 : 냉장고를 확인하는 시점에 따라 냉장고에 있는 제품이 다르다.

-운전해서 상점으로 가기 : 두 번 운전해서 상점에 가면 연료가 두 배로 든다.

-필요한 것 구입하기 : 누군가 브로콜리를 구입하면 브로콜리가 다 떨어질 수도 있기 때문에 구입하는 시점이 중요하다.

-운전해서 집으로 오기 : 이미 집에 있다면 상점에 있는 것이 아니기 때문에 상점에서 집으로 올 수 없습니다. 언제 하는지가 중요한 단계입니다.

 

각 액션들을 데이터와 계산으로 나눠보자

ex)

냉장고 확인하기

데이터 현재 재고
데이터 필요한 재고
계산 재고 '빼기'
데이터 장보기 목록
액션 목록에 있는 것 구입하기

 

장보기 과정에서 배운 것

1. 액션과 계산, 데이터는 어디에나 적용할 수 있습니다.

2. 액션 안에는 계산과 데이터, 또 다른 액션이 숨어 있을지도 모릅니다.

3. 계산은 더 작은 계산과 데이터로 나누고 연결할 수 있습니다.

4. 데이터는 데이터만 조합할 수 있습니다.

5. 계산은 때로 '우리 머릿속에서' 일어납니다. 

- 계산이 우리 사고과정에 녹아있기 때문, 현실에서 장을 보다가 갑자기 무엇을 사야 할지 앉아서 목록을 작성하지는 않는다.

 

요점 정리

  • 함수형 프로그래머는 액션과 계산, 데이터를 구분합니다.
  • 액션은 실행 시점이나 횟수에 의존합니다. 일반적으로 액션은 외부 세계에 영향을 주거나 받습니다.
  • 계산은 입력값으로 출력값을 만드는 것입니다. 외부 세계에 영향을 주거나 받지 않고 실행 시점이나 횟수에 의존하지 않습니다.
  • 데이터는 이벤트에 대한 사실입니다. 사실은 변하지 않기 때문에 영구적으로 기록 할 수 있습니다.
  • 함수형 프로그래머는 액션보다 계산을 좋아하고 계산보다 데이터를 좋아합니다.
  • 계산은 같은 입력값을 주면 항상 같은 출력값이 나오기 때문에 액션보다 테스트하기 쉽습니다.

'개발공부 > 함수형코딩' 카테고리의 다른 글

함수형 코딩 - #Chapter 4  (1) 2023.12.07
함수형 코딩- #Chapter 2  (0) 2023.12.07
함수형 코딩 - #Chapter 1  (0) 2023.12.07