배운 점들
ㄱ. 테스트 자동화 경험
github actions, RTL, jest, lint 등을 활용한 테스트 자동화, 추후 배포 자동화나 슬랙 알림 등 다양한 곳에 활용할 수 있다.
ㄴ. 성능 최적화 경험
크롬의 lighthouse, performance를 활용한 성능 측정 / 코드 스플릿, 텍스트 압축을 통한 로딩 성능 최적화
ㄷ. emotion, recoil 활용
아쉬운 점들
ㄱ. 렌더링 성능 매우 저조
특정 셀 속성, 값 변경시 다른 셀과 도구상자도 렌더링 되는등 관련 성능이 매우 저조하다. memo를 잘 활용하고 상태관리 구조를 잘 짰으면 훨씬 좋은 성능이 나왔을 것 같다.
ㄴ. 버그 매우 많음
리팩토링하면서 복사 기능이 날아가는 등, 버그가 매우 많아졌다... 꼼꼼한 테스트 코드가 있었으면 해당 상황을 방지할 수 있었을 것 같다.
ㄷ. 모션 많이 못 넣음
셀 선택 시나 시트 변경시에 매끄러운 모션을 추가함으로써 사용자 경험을 향상시키려 했는데, 개발 중간에 framer를 활용해 모션 추가하는 과정에서 기존 로직과 부딪히는 부분 땜에 모션이 어색해서 다시 빼버렸다. 처음부터 고려하고 같이 개발 진행했으면 훨씬 좋았을 것 같다.
ㄹ. 스토리북 도입 못함
처음에는 스토리북을 도입해서 컴포넌트 기반 개발로 가려고 했다. 하지만 컴포넌트들이 공용으로 쓰이기 보다는 특정 로직에 강하게 묶여 있어서 공용으로 빼기가 너무 힘들었다. 사실상 공용 컴포넌트가 없다시피 해서 스토리북을 도입하지 않았다. 나만의 공용 컴포넌트를 따로 모아서 스토리북과 함께 관리하는 식으로 추후에 진행할 예정이다.
'프로젝트 회고 > 엑셀 편집기 개발' 카테고리의 다른 글
4. 성능 측정, 최적화 (0) | 2023.09.12 |
---|---|
3. 테스트 자동화 (0) | 2023.09.11 |
2. 개발 시 어려웠던 점들 (0) | 2023.09.11 |
1. 개요, 기본 구조 (0) | 2023.08.21 |