Keep
- DRY (Do not Repeat Yourself) & YAGNI (You Ain't Gonna Need it)
- 이번주 미션들은 이틀의 기간이 주어졌다. 정확히 말하면 첫날에 설계하고 구현한 내용을 둘째날에 개선하는 일정이었다. 릴레이 프로젝트 미션으로 받은 "전체를 고려하지 말고 하나의 메소드만 집중하여 만들어보기"를 첫날 구현 과정에 적용하였다. 확실히 메소드들의 유기적인 관계를 모두 고려하지 않고 하나의 메소드만 동작하도록 만들어보니 시작이 쉬웠던 것 같다. 둘째날에 코드를 개선하는 과정에서 중복 함수를 분리하고 너무 길어지는 메소드는 하나의 기능조각으로 구분하여 파일을 분리하였다. 확실히 가독성이 올라가고 이후 유지보수를 할 때 유리하겠다는 느낌을 받았다.
- 사실 DRY와 YAGNI 는 금요일 릴레이프로젝트에서 알게 된 원칙들이다. 설계 및 구현 단계에서 의도적으로 의식하지 않았지만 돌아보니 스스로 인지하고 나름 가깝게 원칙을 수행하고 있었다는 사실이 만족스러웠다.
- 짝 프로그래밍
- 저번주와 달리 3주차의 짝 프로그래밍은 규칙이 명시되어있었다. 네비게이터와 드라이버의 역할을 이해하고 짝과 주기적으로 바꿔가며 문제를 해결하였다. 처음 경험해보는 짝 프로그래밍이었기에 적응하는데에 시간이 필요하였고 진행 속도는 빠르지 않았다. 하지만 짝 프로그래밍을 진행하며 스스로 성장하는게 느껴졌다. 왜 역할을 분리하고 바꿔가며 하는건지 이해하였고 실제로 각 역할에 충실하며 서로 놓칠 수 있는 부분을 잡아주는 경험을 할 수 있었다. vscode의 live share을 통해 공동 작업을 진행하였고 드라이버 역할은 30분 주기로 바꿔가며 진행하였다. user을 switch하며 드라이버 역할이 commit을 하였고 끊임없이 의견을 주고받으며 진행하다보니 에너지 소모가 심했지만 그만큼 얻어가는게 많았다.
Problem
- 함께 개선하기
- 혼자서 문제를 해결하고 다음날 함께 개선하기 시간을 가졌다. 피어세션에서는 모두의 코드를 구체적으로 리뷰하긴 힘들기에 전체적인 설계를 피드백했다면 함께 개선하기 시간에는 각자의 코드를 읽어내려가며 코드를 리뷰하고 서로가 생각하는 개선사항을 전달하였다. 아쉬웠던것은 개선사항을 주고받은 뒤 흩어져서 각자 개선을 진행했던 시간이다. 코드 개선은 각자가 진행하더라도 제시받은 개선사항에 대한 질문을 던질 수 있도록 한 공간에 모여 진행했다면 더 좋았을 것 같다.
- 비동기 처리
- 비동기 처리를 추가해야하는 미션이 있었는데 개인적으로 온전히 구현하지 못했던 것이 아쉽다. 아직도 학습을 만족할 만큼 진행한 뒤 설계 및 구현에 들어가야한다는 강박을 갖고 있는 것 같다. 비동기 처리부에 대한 학습을 하는건 좋지만 구현까지 나아가기 위해 시간분배를 더 잘 해야겠다고 생각했다.
Try
- 80-90점 짜리 구현을 목표로 하자
- 평소 성격이 효율을 많이 추구하다보니 몇번 더 체크하고, 그만큼 결정도 늦어져 결정장애 소리도 종종 듣는 편이다. '개발자 원칙'에서 퀄리티와 일정의 밸런스를 잡는 팁을 읽었는데 애초에 완벽한 프로그램이 아닌 8-90점 짜리 sw를 일정 안에 개발할 수 있는가를 체크하라고 말한다. 현업의 프로젝트도, 챌린지의 미션도 동일하다고 생각한다. 100점짜리 구현을 목표로 잡기보단 내게 주어진 시간을 체크하고 80점짜리 구현을 목표로 잡고 학습,설계의 밸런스를 잡는게 현명할지도 모르겠다
- 미뤘던 학습 정리와 못다한 미션
- 3주간 챌린지를 진행하며 감당이 안돼서 미뤄뒀던 학습 정리와 손대지 못한 구현이 있다. 지금도 주말 시간을 할애하여 어느정도 진행하고 있지만 휴식도 필요하기에 많은 시간을 투자하진 못하였고 마지막주에는 한계속도로 달리며 주어진 미션과 못다한 미션까지도 수행하려는 욕심을 내보려 한다. 적어도 하루 1시간만이라도 못다한 미션을 다루며 전에 배웠던 내용을 복습해보자
'Boostcamp' 카테고리의 다른 글
[Boostcamp] 챌린지 2주차 회고 (0) | 2024.07.27 |
---|---|
[Boostcamp] 챌린지 1주차 회고 (0) | 2024.07.19 |