-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
18 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# 3장 - 액션과 계산, 데이터의 차이를 알기 | ||
|
||
액션: 부수 효과 | ||
계산: 순수 함수 | ||
데이터: 이벤트에 대한 사실 | ||
|
||
함수형 프로그래머는 더 좋은 코드를 만들기 위해 최대한 액션에서 계산을 빼내려고 해야함 | ||
계산에서는 데이터를 분리할 수 있는지 생각하기 | ||
더 나아가 액션이 계산이 될 수 있는지, 계산은 데이터가 될 수 있는지 고민하기 | ||
|
||
가능한 계산을 사용하려고 하는 이유는 테스트하기 쉽기 때문! | ||
계산은 외부에 영향 x, 원하는 만큼 테스트 가능, 정적 분석 가능 | ||
계산을 조합해서 더 큰 조합을 만드는게 가능 | ||
|
||
액션은 언제 부르는지(순서), 얼마나 부르는지(반복)에 따라 다른 결과를 낼 수 있음 | ||
액션이 다루기 힘듦음 ⇒ 가능한 작게 만들기 ⇒ 액션에서 결정이나 걔획과 관련된 부분은 계산으로 빼낼 수 있음 | ||
|
||
(p 41) 쿠폰에 등급 매기기 ⇒ 이게 왜 데이터? 쿠폰 등급 매기기가 결정 아닌가? 왜 액션이 아니지? 쿠폰 등급이 데이터아닌가? |