요점 정리

  • 액션은 암묵적인 입력 또는 출력을 가지고 있습니다.
  • 계산의 정의에 따르면 계산은 암묵적인 입출력이 없어야 합니다.
  • 공유 변수는 일반적으로 암묵적 입력 또는 출력입니다.
    • 암묵적 입력은 인자로 바꿀 수 있습니다.
    • 암묵적 출력은 리턴값으로 바꿀 수 있습니다.
  • 함수형 원칙을 적용하면 액션은 줄어들고 계산은 늘어난다.

액션과 계산을 구분해야하는 이유

  • 액션은 테스트가 어렵다.
  • 액션은 재사용이 어렵다.

코드 구조 분해하기

TIP

  • 코드를 액션과 계산, 데이터로 각각 구별한다.
  • 액션을 하나 이상 포함하는 함수는 액션이다.
  1. 계산 코드를 찾아 분리합니다.
  2. 새 함수 내 암묵적 입력과 출력을 찾아냅니다.
  3. 암묵적 입력은 인자로, 암묵적 출력은 리턴값으로 바꿉니다.