4일차 작업회고(22.08.30TIL)
어제 피드백을 받은 부분인 관계 도메인을 손보기위해 오늘 하루 거의 대부분의 시간을 투자했다. 내가 구현해야 하는 관계는
1. 유저 - 유저
2. 유저 - 채팅방
3. 채팅방 - 메시지
이 세가지 관계인데, 처음 다뤄보는 접근법이어서 예상한 것 보다 훨씬 시간을 많이 잡아먹었다.
특히 두번째 관계에서 오후동안 거의 진척이 없다가 저녁 먹고 조금 진전이 되었다. 왜 그랬나 생각해보면 이전에 짰던 코드를 통째로 들어내야 하다보니, 어디서부터 접근해야할지 갈피를 못잡았던것 같다. 그래도 오늘 나름의 교훈이 있다.
코드가 나오지 않을때는 손으로!
오후 내내 생산성없는 시간을 보내다가 이러다가는 답이 없겠다는 생각이 들었다. 저녁먹기 전에 30분 정도 시간을 내서 관계가 생성되고 사용되는 곳이 어디인가 정리해보기로 했다. 컴퓨터는 내 마음대로 적기가 어려워서 오랜만에 집에 나뒹구는 아이패드를 집어들었다. 손으로 직접 관계가 필요한곳, 관계가 생성되는 곳을 정리해보니 당장 해야할 부분이 정리가 되었다.
단위 테스트의 중요성
코드를 정신없이 짜다보면 하나의 메서드가 여러 역할을 가지게 짜는 경우가 있다. 원래는 1메서드 = 1역할으로 짜는게 원칙이지만, 크게크게 구조를 나누다 보니 이런 상황을 불가피하게 맞이하는 상황이 올 수도 있다. 역할이 많으니 코드 이해자체가 어려워 지는데, 메서드 내부의 코드를 다시 여러개의 메서드로 추상화하고, 작은 메서드들을 단위테스트를 하니 코드의 구조가 훨씬 쉽게 이해가 되었다. 단위테스트의 중요성을 다시 깨달았다.
내일까지 채팅기능 & 프로필 사진 기능을 마무리하기 위해 뽀모 회고마다 생산성이 있었는지를 돌아보고, 생산성이 없었던 것 같다면 다시 손으로 내가 필요한 기능을 정리해보는 시간을 짧게라도 가져봐야겠다.