nimusmix 님의 상세페이지[4팀 김수민] Chapter 2-2. 디자인 패턴과 함수형 프로그래밍

과제 배포 링크

https://nimusmix.github.io/front_6th_chapter2-2/basic.html https://nimusmix.github.io/front_6th_chapter2-2/advanced.html

과제의 핵심취지

  • React의 hook 이해하기
  • 함수형 프로그래밍에 대한 이해
  • 액션과 순수함수의 분리

과제에서 꼭 알아가길 바라는 점

  • 엔티티를 다루는 상태와 그렇지 않은 상태 - cart, isCartFull vs isShowPopup
  • 엔티티를 다루는 컴포넌트와 훅 - CartItemView, useCart(), useProduct()
  • 엔티티를 다루지 않는 컴포넌트와 훅 - Button, useRoute, useEvent 등
  • 엔티티를 다루는 함수와 그렇지 않은 함수 - calculateCartTotal(cart) vs capaitalize(str)

기본과제

  • Component에서 비즈니스 로직을 분리하기

  • 비즈니스 로직에서 특정 엔티티만 다루는 계산을 분리하기

  • 뷰데이터와 엔티티데이터의 분리에 대한 이해

  • entities -> features -> UI 계층에 대한 이해

  • Component에서 사용되는 Data가 아닌 로직들은 hook으로 옮겨졌나요?

  • 주어진 hook의 책임에 맞도록 코드가 분리가 되었나요?

  • 계산함수는 순수함수로 작성이 되었나요?

  • Component에서 사용되는 Data가 아닌 로직들은 hook으로 옮겨졌나요?

  • 주어진 hook의 책임에 맞도록 코드가 분리가 되었나요?

  • 계산함수는 순수함수로 작성이 되었나요?

  • 특정 Entitiy만 다루는 함수는 분리되어 있나요?

  • 특정 Entitiy만 다루는 Component와 UI를 다루는 Component는 분리되어 있나요?

  • 데이터 흐름에 맞는 계층구조를 이루고 의존성이 맞게 작성이 되었나요?

심화과제

  • 이번 심화과제는 Context나 Jotai를 사용해서 Props drilling을 없애는 것입니다.

  • 어떤 props는 남겨야 하는지, 어떤 props는 제거해야 하는지에 대한 기준을 세워보세요.

  • Context나 Jotai를 사용하여 상태를 관리하는 방법을 익히고, 이를 통해 컴포넌트 간의 데이터 전달을 효율적으로 처리할 수 있습니다.

  • Context나 Jotai를 사용해서 전역상태관리를 구축했나요?

  • 전역상태관리를 통해 domain custom hook을 적절하게 리팩토링 했나요?

  • 도메인 컴포넌트에 도메인 props는 남기고 props drilling을 유발하는 불필요한 props는 잘 제거했나요?

  • 전체적으로 분리와 재조립이 더 수월해진 결합도가 낮아진 코드가 되었나요?

과제 셀프회고

코치님 안냐세요 .. 이번 주에 개인적으로 바쁜 일이 있어 과제를 ai랑 함께 뚝딱 해버렸답니다.. 통과에 의의를 둔 점 너그럽게 양해 부탁드림니다아 ,,

과제 피드백

ㅋㅋㅋ수민님 안녕하세요.. 셀프회고를 보니 이번 주 바쁜일이 있으셨다구요..ㅠㅠ 주말이 찾아왔으니 다음 주 과제에 대해 깊게 고민하기 전에 그래도 어느정도 회고를 하고 진행하면 좋을것 같아요 ㅎㅎ AI를 사용해주셨다고 했는데, 사실은 그 과정에서 결과를 보고 개선해 가는 과정을 일정부분 겪으셨다면 그런 부분도 경험으로 남겨봐도 좋을것 같구요

아무튼 이렇게 과제를 마무리하는건 아쉬운것 같으니 결과도 꼭 살펴보시고(개선할 게 많아보여요!) 정리하시면 좋을것 같습니다.

다음주는 꼭 잘 마무리해주세요!