Home
All Posts
🏎️

[우아한테크코스] 프리코스 자동차경주 미션 회고

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

결과물

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

목표

1주 차 미션의 목표는 git, 분야별 언어, 그리고 미션 사이클에 익숙해지는 것이었다. 그리고 2주 차부터는 우테코 미션 과정을 제대로 맛볼 수 있는 과제인 '자동차 경주' 게임이었다.
요구사항을 이해하는 게 어려울 수 있지만 주어진 요구사항을 잘 파악하는 것도 좋은 개발자의 역량 중 하나다. 고민 없이 무작정 질문하거나 다른 사람의 도움을 받기 전에 스스로 고민하고 문제를 해결해 보고자 한다.
2주 차 미션에서는 1주 차에서 학습한 것에 더해 함수를 분리하고, 각 함수별로 테스트를 작성하는 것에 익숙해지는 것을 목표로 한다. 더불어, 테스트 도구를 학습하고 작은 단위의 기능부터 테스트를 작성해보려 한다.

피드백

아래는 1주 차 미션 마감 후, 모든 프리코스 참여 인원에게 발송된 공통 피드백이다. 엄청나게 지키기 어려운 것들이라기보다 '기본을 지키자'라는 내용이다. 거의 요구사항과 Git에 대해 다시 한번 강조했다.
공통 피드백 목록

요구 사항

1.
설명
미션에 대한 자세한 내용은 우테코 프리코스 레포에 있으니 참고하길 바라며, 간단히 게임 설명을 하자면 자동차들이 사용자가 입력한 시도 횟수만큼 경주를 하면서 가장 멀리 이동한 자동차가 이기는 게임이다.
2.
출력 예시와 요구 사항
출력 예시
요구 사항
3.
프로그래밍 요구 사항
실행 환경
추가된 요구 사항

배운 점

트러블 슈팅

일반적인 에러는 따로 다른 글로 발행하고,본 미션에서 마주할 수 있는 몇 개만 기술합니다.
왜 string이 contain 되어 있지 않다고 하는거야
github은 대소문자 구별을 하지 못하니 미리 처리해 주자

리팩토링

에러를 상황에 따라 나누기
객체 이름을 지을 때 어떤 입장을 고려할 것인가
합칠지 말지 고민되던 함수
공백을 의미 있게 사용하기

☕️ 소감

1.
같은 문제, 다른 해결
커뮤니티에서 같은 문제에 대해 다르게 바라보거나, 코드 리뷰를 주고받으며 많은 학습이 되었다. 프리코스 참여 이전에는 같은 애플리케이션을 구현한 다양한 코드를 볼 기회가 적었지만, 프리코스 과정을 통해 더 좋은 코드와 구조를 익히며 좁았던 세계를 넓혀가고 있는 느낌이다. 이번 2주 차에는 감사하게도 무려 9명의 지원자 분들로부터 코드리뷰를 받으며 '이렇게 생각할 수도 있구나'라고 느꼈다. 성장할 수 있는 기회를 주는 모든 사람들에게 정말 감사했다.
2.
리뷰에는 WHY를
코드 리뷰에 대한 새로운 관점도 배웠다. 단순히 “이건 이게 더 나아요” 와 같이 틀린 것을 고치는 관점보다, “이건 이러이러해서 더 좋고, 이 자료도 참고해 보시면 좋을 것 같아요”라는 구체적인 피드백을 주고받았다. 이를 통해 스스로는 타인에게 설명하며 더 깊게 공부할 수 있었고, 리뷰를 받을 때는 왜 더 좋은지에 대한 맥락을 이해할 수 있어 효과적으로 학습할 수 있었다. 9명의 코드 리뷰를 받는 동시에 나도 9명의 코드를 리뷰했는데, 설명하는 과정에서 내 의견을 뒷받침할 (혹은 그 사람에게 도움이 될만한) 자료도 찾고, 더 깊게 공부할 수 있어 일석이조였다.
3.
재미와 속도
프리코스 과정을 잘 해낼 수 있을까 걱정했지만, 우려와는 달리 매주 명확한 목표와 요구사항이 주어지는 환경이 나에게는 굉장히 잘 맞았다. 물론 잠도 잘 못 자고 체력적으로 힘들긴 하지만, 감사하게도 하루하루 성장하고 있다는 느낌에 학습에 재미와 속도가 붙고 있다. 앞으로 남은 2주 동안 성장할 내 모습이 매우 기대된다.