Keep
- 각 화면 별 어떤 기능들이 필요할 지 미리 구상하고 역할을 나누니, 중복되거나 유사한 기능들은 서로 코드를 참고, 공유하며 개발 시간을 단축할 수 있었음.
- 세부 계획을 세우고 개발에 들어가니 언제 어떤 작업을 해야할 지 체계적으로 개발에 들어갈 수 있었음
- 외부 라이브러리를 사용해 성능이 향상된 것에 관해 공유가 빨라 모두에게 전체적으로 적용할 수 있었음
Problem
- 이미지 채팅을 보내는데 있어서 레이아웃을 설정과 비동기 이미지 로드 관련해 문제가 있어서 구현하는데 시간이 굉장히 오래 걸림. 그래서 내 파트 기능들을 완성하는데 지연이 많이 생김.
- 기한이 다가올수록 시간에 쫓겨서 동작하는데만 집중한 코드를 작성하게 됨. 알아보기 힘들고 비효율적인 코드인 것 같아 리팩토링이 필요하다고 생각됨.
- 파이어베이스 읽기 횟수를 줄이고자 각 모델에 필요한 정보들을 다 담는 방향으로 구상했지만, 결국 수정하는 과정에서는 각 모델들을 일일이 다 수정해야 했음. 읽기 횟수를 줄이지도 못하고 코드가 복잡해지고 작업이 많아졌음.
- 초기 구상에서 생각하지 못했던 부분에서는 팀원들 각자의 생각이 서로 달랐어서 서로의 코드를 합치는데 있어 문제가 발생해 수정해야했음.
Try
- 아키텍처 관련해 공부하고 사용하기
- 해결하지 못한 기능과 다른 해야할 기능들 사이의 균형을 잡아 적절하게 시간을 분배하기
- 처음부터 주석, 알아보기 쉬운 코드를 작성하도록 신경쓰기, 리팩토링