diff --git "a/\354\261\225\355\204\260_3/\354\203\201\353\262\224.md" "b/\354\261\225\355\204\260_3/\354\203\201\353\262\224.md" new file mode 100644 index 0000000..d386131 --- /dev/null +++ "b/\354\261\225\355\204\260_3/\354\203\201\353\262\224.md" @@ -0,0 +1,18 @@ +# 3장 - 액션과 계산, 데이터의 차이를 알기 + +액션: 부수 효과 +계산: 순수 함수 +데이터: 이벤트에 대한 사실 + +함수형 프로그래머는 더 좋은 코드를 만들기 위해 최대한 액션에서 계산을 빼내려고 해야함 +계산에서는 데이터를 분리할 수 있는지 생각하기 +더 나아가 액션이 계산이 될 수 있는지, 계산은 데이터가 될 수 있는지 고민하기 + +가능한 계산을 사용하려고 하는 이유는 테스트하기 쉽기 때문! +계산은 외부에 영향 x, 원하는 만큼 테스트 가능, 정적 분석 가능 +계산을 조합해서 더 큰 조합을 만드는게 가능 + +액션은 언제 부르는지(순서), 얼마나 부르는지(반복)에 따라 다른 결과를 낼 수 있음 +액션이 다루기 힘듦음 ⇒ 가능한 작게 만들기 ⇒ 액션에서 결정이나 걔획과 관련된 부분은 계산으로 빼낼 수 있음 + +(p 41) 쿠폰에 등급 매기기 ⇒ 이게 왜 데이터? 쿠폰 등급 매기기가 결정 아닌가? 왜 액션이 아니지? 쿠폰 등급이 데이터아닌가? \ No newline at end of file