오늘 배운 것 🌱
- React 과제 리뷰 피드백 (link)
✅ 리뷰 댓글
✅ 피드백 반영 설계
어려웠던 내용 🧐
- 과제 리팩토링에서 추상화
- 필요성은 느끼는데, 어떻게 접근해야 할 지 막막
- 추상화가 아닌 추출을 하는 느낌
- Q5. 추상화란? 단일책임이란? 기본 개념부터 정립이 안되있음을 느낍니다.
- Q6. dataTable의 로직을 customHook으로 만들고자 한다면 어떻게 할 수 있을까?
- 현재 useDataTable은 말그대로, dataTable을 위해 사용한 로직을 모두 담은 것에 불과
- 어떻게 분리하여 쪼갤 수 있을까..?
[로직을 담당하는 컴포넌트, View를 담당하는 컴포넌트의 구분, 분리의 어려움]
관련 내용 (승범님 코드리뷰 중 link)
지금 승범님이 만드신 Table의 역할을 나눠보면 데이터를 보여주는 부분 (data를 전달받아 그려준다.) pagination 부분 (보여줄 데이터의 양을 결정한다.) filter 부분 (데이터의 정렬 또는 필터 조건을 처리한다.) 와 같이 나눌 수 있을 것 같아요. 현재는 이 세개의 구분이 명확하지 않은 것 같아요. (물론 아예 안하신 것은 아니지만.) 조금 더 깊게 이야기를 해보면 데이터를 보여주는 부분 의 경우 사실 넘겨받은 데이터를 그려주는 것에만 집중하면 돼요. 몇 번째 페이지의 데이터를 보여주는 것인지, 한번에 몇개를 보여줘야하는 것인지, 어떤 조건으로 값이 필터, 정렬 되었는지 전혀 알 필요가 없어요! pagination 부분의 경우 새로운 데이터를 불러오고 교체해주는 역할만 하면 되구요! filter 부분 또한 비슷해요! 몇번째 페이지인지, 어떤 값들이 있는지, 몇개나 있는지 알 필요가 없죠. 필터 조건이 들어오면 이에 맞게 데이터 변경만 해주면 돼요! 이렇게 역할을 명확하게 나누다 보면 컴포넌트를 어떻게 나눌지 도움이 될 거에요! (자연스레 가독성 또한 좋아질 것이구요!, 확장성은 덤) 한번 해보시고 감이 안오시면 쓰윽 말씀해주세요!! 요것 제가 작성한 코드를 토대로 같이 보면서 이야기 나누면 좋을 것 같아요!
느낀점 😎
- 피드백과 개선의 중요성
- 과제와 1차 프로젝트를 하면서, 기능 구현은 말 그대로 첫 출발에 불과하다는 것을 많이 느낀다.
- 기능 구현 → 피드백 → 개선 과정에서 피드백과 개선 과정에서 오히려 더 많은 고민을 하게 되었다. 피드백을 받을 수 있는 환경에 놓이는 것, 그러려고 노력하는 것이 중요하다고 하였는데, 데브코스 과정이 참 소중하게 느껴지는 하루였다.