-
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: 액션에서 계산 빼내기 #37
The head ref may contain hidden characters: "\uCC55\uD1304/\uAD8C\uC624\uC5F0"
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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,36 @@ | ||
## Ch 4. 액션에서 계산 빼내기 | ||
|
||
- 테스트를 하기 쉽게 만들기 | ||
- DOM 업데이트와 비즈니스 규칙을 분리 | ||
- 재사용하기 쉽게 만들기 | ||
- 전역변수에 의존하지 않기 | ||
- DOM을 사용할 수 있는 곳에서 실행된다고 가정하지 않기 | ||
- 함수가 결괏값을 리턴 | ||
- 함수에는 입력과 출력이 있다. | ||
- 함수에서 암묵적 입력과 출력을 없애면 계산 | ||
- 함수에서 암묵적 입력과 출력을 있으면 액션 | ||
- 테스트와 재사용성은 입출력과 관련있다. | ||
- DOM 업데이트와 비즈니스 규칙 분리 | ||
- 전역변수 없애기 → 전역변수는 암묵적 입력 | ||
- 전역변수에 의존하지 않기 | ||
- DOM을 사용할 수 있는 곳에서 실행된다고 가정하지 않기 → DOM 직접 변동은 암묵적 출력 | ||
- 함수가 결괏값을 리턴 → 명시적 출력을 위해서 | ||
- 액션에서 계산 빼내기 | ||
- 서브루틴 추출하기 | ||
- 액션에서 또 다른 계산 빼내기 | ||
- 함수 추출하기 → 결국은 함수를 잘게 쪼개라 | ||
- 전역변수를 인자로 넘겨라 | ||
- 인자로 전달한 배열을 직접 변경하는 경우 그 함수는 계산이 아니라 액션이 된다. (왜 기존 배열을 변경하면 안되는지에 대한 이유) | ||
- 계산 추출을 단계별로 알아보기 | ||
- 계산 코드를 찾아 빼내기 | ||
- 새 함수에 암묵적 입력과 출력을 찾기 | ||
- 암묵적 입력은 인자로 암묵적 출력은 리턴값으로 바꾸기 (인자와 리턴값은 불변값) | ||
- 정리 | ||
- 액션은 암묵적인 입력 또는 출력을 가지고 있다. | ||
- 계산의 정의에 따르면 계산은 암묵적인 입력이나 출력이 없어야 한다. | ||
- 공유 변수(전역변수 같은)는 일반적으로 암묵적 입력 또는 출력이 된다. | ||
- 암묵적 입력은 인자로 바꿀 수 있다. | ||
- 암묵적 출력은 리턴값으로 바꿀 수 있다. | ||
- 함수형 원칙을 적용하면 액션은 줄어들고 계산은 늘어난다. | ||
- 후기 | ||
- 뭔가 굉장히 웅장한 것이 나올 줄 알았는데 그 정돈 아니었다.. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
ㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅈ합니다