CHAPTER 1~3장에 의하면 액션보다는 계산이 더 안전하다는 것을 알 수 있다. 이 장에서는 액션에서 계산을 추출하는 방법을 알려준다.
액션은 암묵적인 입출력을 가지고 있고, 계산은 암묵적인 입출력이 없다.
🧐 여기서 암묵적인 입출력이 무엇일까?
암묵적 입력 : 전역변숫값을 읽는 일
암묵적 출력 : 전역변숫값을 바꾸는 일
암묵적 입력값 → 명시적 입력값 (인자)
암묵적 출력값 → (인자를 지역변수로 선언) → 명시적 출력값 (지역변수 리턴)
💡 함수형 프로그래밍 원칙을 사용하면 액션↓, 계산↑
전역변수를 바꾸는 행위 자체가 액션이기 때문에 부수효과를 줄이려면 최대한 명시적 입력값으로 바꿔야겠다고 생각했다. 한가지 기능을 하는 것마다 다 함수로 분리 후, 전역변수를 명시적인 입력값으로 받아 출력하는 방법을 취하도록 해봐야겠다. 암묵적인 입출력값은 모두 제거!!!!😡😡😡