[쏙쏙 들어오는 함수형 코딩] CHAPTER 1. ~ 2. 요약

jiveloper·2023년 4월 21일
1
post-thumbnail

CHAPTER 1. 쏙쏙 들어오는 함수형 코딩에 오신 것을 환영합니다.

CHAPTER 2. 현실에서의 함수형 사고


이 책의 저자는 '함수형 프로그래밍'에 대해 일반적인 정의를 쓰지 않고, 저자의 색깔에 맞춰 정의하였다. 또한, '함수형 프로그래밍'을 학문적 지식이 아닌 기술과 개념으로 볼 것을 권했다.


함수형 프로그래밍에 들어가기 앞서, 함수형 프로그래머는 다음과 같이 코드 구분할 줄 알아야 한다.


부를 때 조심해야 하는 코드 구분

  • 코드를 부를 때 조심해야하는가?
    ⇒ 코드가 호출하는 시점과 횟수에 의존함 (액션)

  • 코드를 부를 때 조심하지 않아도 되는가?
    ⇒ 코드가 호출하는 시점과 횟수에 의존하지 않음 (계산, 데이터)


실행하는 코드와 그렇지 않은 코드 구분

  • 코드가 실행 가능한가? (계산)
  • 코드가 실행 가능하지 않은가? (데이터)

함수형 프로그래머는 위 코드 구분에 따라 정의한 액션과 계산, 데이터를 구분할 줄 알아야한다.


1. 액션

  • 실행 시점이나 횟수 또는 둘 다에 의존
    ⇒ 올바른 순서를 보장함

  • 액션 제거 (액션 → 계산)
    ⇒ 코드를 더 쉽게 이해할 수 있고, 버그 방지 가능


2. 계산

  • 같은 입력값을 가지고 계산하면 항상 같은 결괏값 도출
    ⇒ 언제, 어디서 계산해도 결과가 같고 외부에 영향 주지 않음 (안전함)

3. 데이터

  • 이벤트에 대해 기록한 사실
    ⇒ 실행하지 않아도 데이터 자체로 의미 있음

복잡도 : 데이터 < 계산 < 액션

함수형 프로그래머 선호도 : 액션 < 계산 < 데이터



👩🏻‍💻 느낀점

처음에는 함수형 프로그래밍을 단순히 ‘같은 입력값을 가지고 계산하면 항상 같은 결괏값이 나오는 프로그래밍’이라고만 알고 있었는데, 실행 시점, 횟수에도 의존한다는 사실을 새롭게 알게 되었다.

profile
👩🏻‍💻 Clean Code와 Refactoring에 관심이 많은 개발자 입니다.

0개의 댓글