어제 빠르게 리뷰를 끝내고 체크리스트 관련 DB 구성과 엔드포인트 구현, 프론트엔드 구현을 끝냈다. 나 혼자 수정을 하지 않고 페어 프로그래밍으로 돌아가면서 수정을 했다. 페어 프로그래밍은 처음으로 해봤는데, 생각보다 나쁘지 않았다. 이전에 우테코에서 페어 프로그래밍을 한다는 이야기를 처음 들었었다. 그 이야기를 듣고, 매우 비효율적인 방식이라고 생각이 들었다. 각자 컴퓨터로 작업하고 리뷰하는게 더 좋을 것이라고 생각했다. 이번에 직접 해보니, 작업 상황을 옆에서 실시간으로 지켜보고 어떻게 해야할 지 즉각적으로 피드백을 줄 수 있으니 생각보다 괜찮았다. 특히 프론트/백은 내가 엄청 잘 아는 분야갸 아니다보니 내가 많이 배우기도 했다. 집중력이 떨어지면 교대로 프로그래밍을 진행하다보니 작업 효율도 오히려 좋아졌다.
이후 프로젝트 리팩토링 작업에 들어갔다. 해커톤 평가 시 깃허브 레포토 살펴본다고 했기 때문이다. 지금 레포 상태로는 코드가 이해하기 너무 어려웠다. 내가 짠 AI 파이프라인 코드는 빠르게 작업하는 것에 초점을 맞췄기 때문에 유지보수가 어려운 코드였다. 평가 파이프라인이 메인 파이프라인과 얽혀있어서 응집도가 낮고 결합도가 높은 소프트웨어 공학적으로 매우 안 좋은 코드였다...
지수 백오프를 데코레이터로 구현했다. 이전에는 아예 함수로 래핑했었는데, 지수 백오프는 부가적인 기능이기 때문에 데코레이터가 더 적절할 것 같다는 의견이 있었다. 함수로 래핑하거나, 데코레이터를 사용해도 덕 타이핑이 적용되지 않은 건 많이 아쉬웠다.