Home
All Posts
🎱

[우아한테크코스] 프리코스 로또 미션 회고

Created
2023/11/08
Tags
JavaScript
Category
Project
2 more properties
개인적으로는 미션 수행을 통해 성장한 과정을 기록하고,
누군가에게는 이 글이 도움이 되었으면 하는 마음입니다 :)

결과물

게임 실행 화면과 테스트 통과 화면

목표

2주 차 미션의 목표는 함수 분리와 함수별 테스트 작성이 목표였다. 그리고 이번 3주 차 미션에서는 2주 차에서 학습한 것에 더해 (1) 클래스(객체)를 분리하는 연습, (2) 도메인 로직에 대한 단위 테스트를 작성하는 연습이라는 두 가지 목표를 추가했다.
아직까지 도메인 로직과 단위 테스트와 같은 용어들이 낯설 수 있지만, 일단 작은 기능부터 테스트를 작성하는 연습을 시작해 보기로 했다. 1주 차 피드백에서 제공된 숫자 야구 피드백 강의 후반부에 단위 테스트를 작성하는 내용이 있으니 이를 참고해 보기도 했다.

피드백

아래는 2주 차 미션 마감 후, 모든 프리코스 참여 인원에게 발송된 공통 피드백이다. 엄청 의외의 내용이라기보다, 요구사항에 있는 내용들을 한번 더 강조하거나 추가로 학습할만한 내용이었다. 특히 이번 3주 차 미션에서 강조하듯 객체 분리 및 테스트 코드 작성에 관한 내용이 주를 이루었다.
공통 피드백 목록

요구 사항

1.
설명
미션에 대한 자세한 내용은 우테코 프리코스 레포에 있으니 참고하길 바라며, 간단히 게임 설명을 하자면 사용자가 직접 당첨 번호를 입력하고, 구입한 로또 번호 중 당첨 조건에 따라 수익을 내는 게임이다.
(중요) 현실 로또 vs. 미션 로또
2.
출력 예시와 요구사항
출력 예시
요구 사항
3.
프로그래밍 요구 사항
실행 환경
추가된 요구 사항

배운 점

README 상세하게 작성하기
상수 컨벤션과 네이밍에 대한 고민
불필요한 메서드는 제거하기
미리 구현 순서를 생각하고 코딩하기
빈틈없이 예외를 처리하기

트러블 슈팅

일반적인 에러는 따로 다른 글로 발행하고,본 미션에서 마주할 수 있는 몇 개만 기술합니다.
무지성 복붙으로 인해 발생한 에러
true? false? 테스트 코드에서 사소한 boolean 실수로 인해 발생한 에러

리팩토링

while에서 재귀로

아쉬운 점

1.
시간 분배
2주 차에 비해 3주 차 미션은 난이도가 있는 편이기도 했고, 초반부에 예외 처리 부분을 필요 이상을 꼼꼼하게 하느라 시간 분배를 잘 하지 못한 것 같다. 물론 돌아보면 이렇게 꼼꼼하게 처리하고 여러 시도를 해본 것이 결코 헛된 삽질은 아니지만, 미션 마감 시간에 닥쳐 푸시하고 테스트하느라 마지막에 소소한 코드 컨벤션을 체크하지 못한 것이 마음에 걸린다. 4주 차에는 빠른 시간 내에 돌아가는 쓰레기라도 만들어 최소 기능이라도 구현해야겠다.
2.
테스트 코드
위의 시간 분배와도 연결되는 이야기인데, 막판에 시간이 부족해서 테스트 코드 리팩토링을 제대로 못했다. 때문에 지금 보니 반복되는 코드가 많다. 게다가 '당첨 결과와 수익률 계산'에 대한 테스트 코드 하나를 작성하지 못했다. 물론 Node 환경에서 애플리케이션이 잘 돌아가고, 예외 처리를 다 해준다는 것은 눈으로 확인했지만, 테스트 코드로 비즈니스 로직을 확인했더라면 더 좋았을 것 같다. 매우 아쉬운 부분이다.

☕️ 소감

1.
어렵고, 힘들었다.
힘들었다. 이번 미션의 난이도가 높은 것도 있었지만, 3주 차에 접어들며 체력적 정신적으로 한계에 부딪힐 때가 있었다. 그동안 잠을 줄인 탓에 체력 부채는 쌓여가는데, 점점 난이도가 높아지는 것을 느껴 조급해지기도 했다. 지난주보다 알게 된 것들이 많아지다 보니 더 잘하고 싶은 욕심 때문이었던 것 같다.
2.
위기를 기회로
하지만 이런 위기는 스스로의 절실함과 성장에 대한 욕심을 알게 된 기회이기도 했다. 더 잘하고 싶은 욕심과 절실한 마음에 잠을 줄이게 되고, 먹거나 쉴 때도 디버깅 리팩토링 생각만 했던 것 같다. 이를 통해 스스로 ‘나 개발을 이만큼 좋아하는구나, 이만큼 잘하고 싶구나’ 느꼈다.
3.
아쉬움은 성장의 기회로
소감문을 쓰며 한 주를 돌아보니, 이것 또한 과정이고 스스로 해낸 것에 큰 성취를 느낀다. 특히 지난 2주 차 때 아쉬웠던 점을 3주 차에 만회하겠다고 다짐했고, 이를 실천한 것에 뿌듯함을 느끼고 있다. 하지만 3주 차 피드백을 받으면 분명 아쉬운 점이 마구마구 생길 것이고, 나는 또 성장의 기회를 얻을 것이다. 이렇듯 앞으로 아쉬움을 느끼며 매일매일 성장하는 개발자가 되자.