[항해 플러스 프론트엔드 3기] 5주차 회고록

JeongWu (Jane) Park·2024년 10월 27일

5주차 과제
기본과제 pass 😮
심화과제 pass 😮

발제 목표

  • 값, 함수, 액션 구분하기
  • 관심사 분리하기

N주차 계획

  • 함수형 프로그래밍/디자인 패턴 공부
  • 기준을 가지고 점진적으로 리팩토링해보기!

어려웠던 점

  • props drilling
    • props는 entity만 넘겨주고 나머지는 위임
    • context api 사용하기

배운점

  • 자바스크립트는 함수형 프로그래밍 기반 위에 객체지향 언어의 껍데기를 씌운 언어
    • 완전히 함수형 언어가 아니고 완전히 객체지향 언어도 아닌 멀티 패러다임
  • 디자인 패턴: 소프트웨어 개발에서 반복적으로 발생하는 문제들에 대한 검증된 해결책을 제공하는 재사용 가능한 설계 방식
    • 디자인패턴은 객체지향 패러다임에서 재사용가능한 클래스를 어떻게 설계하느냐에 주로 초점을 맞춤
    • 하지만 javascript는 완벽한 객체지향이 아닌 함수형 프로그래밍 언어 (js OOP에서 this 이슈)
    • 자바스크립트는 객체지향보다 함수형으로 다루는게 더 간결함
    • 컴포넌트 개념이나 Object 데이터를 다룬다거나
    • 라이브러리들은 여전히 객체지향의 개념으로 설계하는 게 필요
      --> 결국 OOP의 장점과 FP의 장점을 섞으면 좋은코드를 만들기
  • 컴포넌트 -> 훅(액션) -> 유틸(계산)

회고

  • let 보다는 const, forEach 보다는 reduce 로 선언적이고 상태의 변화가 없도록 개선 더 해보기
  • Context를 이용해서 props drilling을 피하고 모든 컴포넌트를 top-level으로 이동시켜보기
profile
안녕하세요 :)

3개의 댓글

comment-user-thumbnail
2024년 11월 1일

props drilling이 어떤 개념인지 좀 더 설명해주실 수 있을까요??

1개의 답글