Skip to content

4회차 스터디 후 src/refactoring 리팩터링하기 #6

Draft
wogha95 wants to merge 4 commits intomainfrom
max/src/refactoring
Draft

4회차 스터디 후 src/refactoring 리팩터링하기 #6
wogha95 wants to merge 4 commits intomainfrom
max/src/refactoring

Conversation

@wogha95
Copy link
Member

@wogha95 wogha95 commented Dec 26, 2023

TL;DR

  • example-1
  • example-2
  • example-3
  • 수정전-01_조건부_복잡성
  • 수정전-02_기능_특정하기
  • 수정전-03_부적절한_평가

Description

  • example-1
    • 함수이름에 있는 암묵적 인자를 드러냈습니다.
    • object의 키를 인자로 받아서 결과값을 받도록 했습니다.
    • chapter10 참고
  • example-2
    • 반복문 내에서 동작만 다르고 공통적인 틀이 있어서 해당 본문을 콜백으로 받도록 구현했습니다.
    • forEach함수에 일급함수를 전달해서 동작하도록 했습니다.
    • chapter10 참고
  • example-3
    • 책에 있던 내용을 그대로 가져온 것 같았습니다.
    • api 호출 함수를 받아 try_catch로 감싼 함수로 반환하는 고차함수를 만들었습니다.
    • chapter11 참고
  • 수정전-01_조건부_복잡성
    • else_if의 반복은 switch로 개선하였습니다.
    • 객체의 깊은 필드를 참조할때 매 깊이마다 object인지 참조하는 것보다는 옵셔널 체이닝으로 생각을 했다가 ES2020 이전 코드로 작성하고자 hasOwnProperty로 작성하였습니다.
    • 깊은 필드를 탐색하는 경우를 위해 유틸함수를 만들었습니다.
  • 수정전-02_기능_특정하기
    • 밖으로 드러날 필드와 메서드를 구분하도록 private 키워드와 함께 개선하였습니다.
  • 수정전-03_부적절한_평가
    • 화살표 함수의 this binding은 context chaining을 통해 binding됩니다. 해당 예시에서는 전역을 가리키게 됩니다.
    • this를 모두 제거하고 클로저 형태로 작성하여 각 context의 참조가 엉키지 않도록 하였습니다.

@wogha95 wogha95 self-assigned this Dec 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments