[우아한테크코스] 4주차 회고

유콩·2022년 3월 5일
0

우아한테크코스

목록 보기
5/15

벌써 한달에 가까운 시간이 지나 4주차 회고를 작성한다. 회사 다닐 때에는 그토록 기다렸던 금요일이(ㅋㅋ) 지금은 벌써 금요일이야? 하는 생각이 든다. 하루하루가 정말 빠르게 지나가고 있다. 🥲

자동차 경주 미션 리팩토링

자동차 경주 미션이 끝나고 내가 잘 이해하고 있나 해서 개인적으로 브런치를 따로 생성해 처음부터 다시 구현해봤다. 요구사항이 적은 편이기도 하고 거의 2주일동안 계속해서 봤던 코드라서 좀 외워서 작성한다는 느낌이 들기는 했다. 그래도 자신감 찾기에는 좋았다. 😅

로또 미션 리팩토링

피드백에서 눈에 띄었던 것 중 하나가 역할 분담 이었다. 아직 객체지향 설계가 익숙하지 않기에 이 객체는 무조건 이 역할을 담당해야해! 하는 생각이 있었던 것 같다. 리뷰어님의 피드백을 보면 이 역할은 다른 객체가 담당할 수 있지 않을까요? 하는 것들이 있었고 거기에서 약간의 충격을 받았다.

예를 들면, 사용자가 구매한 Lottos 와 지난주 당첨번호 WinningLotto 의 매칭 개수를 확인해 당첨된 등수의 개수를 LottoResult 에 담는다고 봤을 때 비교하는 역할을 LottoResult 에 뒀었다. 그러자 외부에서 몇 개의 숫자가 일치하는지, 보너스볼이 포함되는지를 받아와야 했기 때문에 코드가 지저분해졌지만 어떻게 수정을 해야할지 감이 오지 않았다. 그때 값을 비교하는 역할을 WinningLotto 에게 부여하는게 어때요? 하는 피드백을 받았고 피드백대로 수정해보니 WinningLotto 에는 지난주 당첨번호와 보너스볼의 숫자를 가지고 있었기 때문에 더 간결하게 작성할 수 있게 되었다.

특정 객체의 역할이 너무 많을 경우엔 다른 객체가 역할을 수행하도록 넘겨줄 수도 있고 역할이 없는 객체에게 역할을 부여해주기도 했다. 아직 어렵기는 하지만 이런게 객체지향의 매력이 아닐까 생각한다. 😁

지난 주 목표

  • 자바 문법 공부
    이번주는 페어 기간이 아니다보니 시간이 조금은 여유있어서 부족했던 부분을 채워넣는 시간이 있었다. 우테코 특강을 대비해서 세운 목표였는데 바로 다음 특강인 Enum 은 찾아보았지만 Exception 에 대해서는 아직이다.

  • 테스트 주도 개발 시작하기 읽기
    일단 시작하는 것이 목표였는데 시작을 못했다. 🤣 항상 생각은 하는데 객체지향의 사실과 오해가 더 재밌어 보인다. 😁

  • 객체지향의 사실과 오해 읽기
    꾸준히 시간이 날 때마다 읽고 있다. 읽을 수록 다음 미션에 적용해보고 싶어서 빨리 미션을 시작하고 싶은 생각이 든다.

  • CS 미리 공부하기
    모든 개발자를 위한 HTTP 웹 기본 지식 강의를 아침마다 꾸준하게 보고있다. 이 속도라면 다음주내로는 완강할 수 있을 것 같다.

다음 주 목표

딱히 추가된 것은 없고 이번주에 해온대로만 하면 만족스러울 것 같다.

0개의 댓글