Skip to content
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

Merged
merged 1 commit into from
May 22, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions 챕터_4/권오연.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
## Ch 4. 액션에서 계산 빼내기

- 테스트를 하기 쉽게 만들기
- DOM 업데이트와 비즈니스 규칙을 분리
- 재사용하기 쉽게 만들기
- 전역변수에 의존하지 않기
- DOM을 사용할 수 있는 곳에서 실행된다고 가정하지 않기
- 함수가 결괏값을 리턴
- 함수에는 입력과 출력이 있다.
- 함수에서 암묵적 입력과 출력을 없애면 계산
- 함수에서 암묵적 입력과 출력을 있으면 액션
- 테스트와 재사용성은 입출력과 관련있다.
- DOM 업데이트와 비즈니스 규칙 분리
- 전역변수 없애기 → 전역변수는 암묵적 입력
- 전역변수에 의존하지 않기
- DOM을 사용할 수 있는 곳에서 실행된다고 가정하지 않기 → DOM 직접 변동은 암묵적 출력
- 함수가 결괏값을 리턴 → 명시적 출력을 위해서
- 액션에서 계산 빼내기
- 서브루틴 추출하기
- 액션에서 또 다른 계산 빼내기
- 함수 추출하기 → 결국은 함수를 잘게 쪼개라
- 전역변수를 인자로 넘겨라
- 인자로 전달한 배열을 직접 변경하는 경우 그 함수는 계산이 아니라 액션이 된다. (왜 기존 배열을 변경하면 안되는지에 대한 이유)
- 계산 추출을 단계별로 알아보기
- 계산 코드를 찾아 빼내기
- 새 함수에 암묵적 입력과 출력을 찾기
- 암묵적 입력은 인자로 암묵적 출력은 리턴값으로 바꾸기 (인자와 리턴값은 불변값)
- 정리
- 액션은 암묵적인 입력 또는 출력을 가지고 있다.
- 계산의 정의에 따르면 계산은 암묵적인 입력이나 출력이 없어야 한다.
- 공유 변수(전역변수 같은)는 일반적으로 암묵적 입력 또는 출력이 된다.
- 암묵적 입력은 인자로 바꿀 수 있다.
- 암묵적 출력은 리턴값으로 바꿀 수 있다.
- 함수형 원칙을 적용하면 액션은 줄어들고 계산은 늘어난다.
- 후기
- 뭔가 굉장히 웅장한 것이 나올 줄 알았는데 그 정돈 아니었다..
Comment on lines +35 to +36
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅈ합니다

Loading