-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[김동규] 챕터 4: 액션에서 계산 빼내기 #31
The head ref may contain hidden characters: "\uCC55\uD1304/\uAE40\uB3D9\uADDC"
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# 챕터 4: 액션에서 계산 빼내기 | ||
|
||
#스터디-쏙쏙들어오는함수형코딩 | ||
|
||
## 테스트를 더 쉽게 하는 방법 | ||
|
||
- DOM 업데이트와 비즈니스 규칙은 분리 되어야 합니다. | ||
- 전역변수가 없어야 합니다. | ||
|
||
## 재사용하기 쉽게 만드는 방법 | ||
|
||
- 전역변수에 의존하지 않아야 합니다. | ||
- DOM을 사용할 수 없는 곳에서 실행된다고 가정하면 안됩니다. | ||
|
||
## 액션과 계산, 데이터를 구분하기 | ||
|
||
- 변경 가능한 전역변수는 “액션”입니다. | ||
- 어떤 함수 안에 액션이 하나만 있어도 그 함수 전체가 액션이 됩니다. | ||
|
||
## 함수의 입력과 출력 | ||
|
||
- 입력은 함수가 계산을 하기 위한 외부 정보 입니다. 출력은 함수 밖으로 나는 정보나 어떤 동작 입니다. | ||
- 전역변수를 읽고 변경하거나, 콘솔을 찍는 것은 암묵적인 입력이나 출력 입니다. | ||
- 함수에 암묵적인 입력과 출력이 있으면 액션이 됩니다. 반대로 암묵적 입력과 출력을 제거하면 계산이 됩니다. | ||
- 함수형 프로그래밍에서 암묵적 입력과 출력을 “부수효과”라고 부릅니다. | ||
|
||
## 테스트와 재사용성은 입출력과 관련 있습니다. | ||
|
||
- 암묵적 입력과 출력을 없애야 합니다. | ||
|
||
## 액션에서 계산 빼내기 | ||
|
||
- 서브루틴 추출하기를 이용한 리팩토링을 진행하기 | ||
- 암묵적 입력/출력을 명시적 입력/출력으로 변경하기 | ||
|
||
## 액션에서 또 다른 계산 빼내기 | ||
|
||
- 전역 변수 변경을 서브루틴으로 빼내고, 전역변수를 인자로 받아 거기에 업데이트 | ||
|
||
```생각 & 의견 | ||
역할이 명확히 분리되고 함수형 프로그래밍 관점에서 액션이 많이 줄어든 것 같긴합니다. | ||
평소에 코드 분리하면서 이런식으로 많이 분리하려고 노력했던 것 같은데 확실히 책에서 이야기 해주는 | ||
"액션" "계산" "데이터" 로 분리해서 생각하니 엄청 편하게 다가오네요 | ||
|
||
다만,오히려 너무 많은 서브루틴을 통한 코드 파편화 | ||
이로인한 너무많은 입력을 받아야 되는 것 | ||
이런 문제들이 한켠으로는 생각이드는데 어떻게 생각하시나요? | ||
Comment on lines
+45
to
+47
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 저는 중용...이 중요할 거 같다고 느꼈어요 🤔 비즈니스 도메인을 기준으로 추상화하는 방법이 힌트가 될 거 같기도 하구요!! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 비즈니스 도메인을 기준으로 한다는 생각을 크게 안해봤었네요 🤔 |
||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ㅇㅈㅇㅈ합니다