Facts.
- 프로그래머스 레벨 2 두 문제를 풀었습니다. 난이도는 어렵지 않은 것 같습니다. 빨리 돌리고 레벨 3로 가자!!
- 데스크탑 채팅 앱 컨테이너 테스트 코드를 모두 작성했습니다.
- 러닝 타입스크립트 ch 5,6,7을 읽고 정리했습니다. 가벼운 마음으로 읽는 중
Feelings.
- 테스트 코드를 짜면서 비즈니스 로직이 완벽하게 분리되지 못했다는 느낌을 많이 받았습니다. 예외 처리와 같은 로직이 컴포넌트에서 관리되고 있어 컴포넌트가 구체적인 구현에 강하게 결합되고, 예외 처리를 위해서 예외 처리에 사용되는 컴포넌트와 현재 컴포넌트가 분리되어 있음에도 항상 같이 사용되어야 한다는 문제점을 발견했습니다.
-
프로젝트에 repository 패턴과 커스텀 훅 패턴을 적용하면서 컴포넌트를 어떻게 분리하고 어떤 책임을 지게 할까에 대한 고민이 많이 늘어난 것 같습니다.
-
맘에 안 드는 부분
- 컴포넌트 구조가 커스텀 훅 패턴을 사용했음에도 여전히 container-prensenter 패턴을 갖습니다. 컴포넌트의 역할을 잘 분리할 수 있는 새로운 디자인 패턴이 필요합니다.
- 모든 비즈니스 로직이 커스텀 훅으로 이동하지 못했습니다. 현재 커스텀 훅이 repository의 쿠션? 역할만 하고 있습니다.
-
- 같은 로직의 반복은 줄이는 것이 좋고, 컴포넌트는 구체적인 로직을 몰라야 합니다. 또 어떤 라이브러리나 구현체를 사용하는지 몰라야 합니다.
- 때문에 컴포넌트는 추상적인 것에 의존해야 합니다. 커스텀 훅에서 변경이 발생하더라도 컴포넌트는 그 내용을 알지 못하도록 구조를 설계해야 합니다.
- 불안, 초조한 감정이 들면 집중력이 급격하게 흐트러진 다는 것을 느끼게 되었습니다. 그럴 수록 계획이 얼마나 탄탄하게 세워져 있는냐에 따라 다시 금방 일에 집중할 수 있고 없고가 결정되는 것 같습니다. 대략적으로만 TODO를 정하고 쳐냈는데 우선순위를 기반으로 세부적인 태스크까지 정해야 할 것 같습니다.
Future Action Plans.
-
예외 처리하는 부분을 어떻게 컴포넌트에서 분리할지 고민해야 합니다.
- 컴파운드 패턴이라는 것을 알게 되었는데 공부하고 적용할 수 있을지 고민해봐야 겠습니다.
- 테스크탑 채팅 앱 프로젝트를 진행하면서 배운 내용을 계속 그대로 채팅앱에 적용할 지 realworld api를 사용한 새로운 프로젝트에 적용할 지 고민입니다.
- 이력서를 포폴 형식과 결합해서 다시 정리하고자 합니다. 화이또.