요점 정리
- 액션은 암묵적인 입력 또는 출력을 가지고 있습니다.
- 계산의 정의에 따르면 계산은 암묵적인 입출력이 없어야 합니다.
- 공유 변수는 일반적으로 암묵적 입력 또는 출력입니다.
- 암묵적 입력은 인자로 바꿀 수 있습니다.
- 암묵적 출력은 리턴값으로 바꿀 수 있습니다.
- 함수형 원칙을 적용하면 액션은 줄어들고 계산은 늘어난다.
액션과 계산을 구분해야하는 이유
- 액션은 테스트가 어렵다.
- 액션은 재사용이 어렵다.
코드 구조 분해하기
TIP
- 코드를 액션과 계산, 데이터로 각각 구별한다.
- 액션을 하나 이상 포함하는 함수는 액션이다.
- 계산 코드를 찾아 분리합니다.
- 새 함수 내 암묵적 입력과 출력을 찾아냅니다.
- 암묵적 입력은 인자로, 암묵적 출력은 리턴값으로 바꿉니다.