[우아한테크코스] 웹 프론트앤드 6기 프리코스의 시작 ⚾️ 1주차 미션 회고

이온·2023년 10월 26일
0

우테코

목록 보기
1/7

2024 우테코 6기

서류접수: 2023106() 오후 3~ 1016() 오전 10시
프리코스: 20231019() ~ 1115()
1차 합격자 발표: 20231211() 오후 3, 개별 E-mail 통보
최종 코딩 테스트: 20231216()
최종 합격자 발표: 20231227() 오후 3, 개별 E-mail 통보

교육 기간 : 20242~ 11 (10개월)

우아한테크코스는 총 4주동안 공통 피드백만 있는 상태에서 나 자신이 주도적으로 학습하고, 미션을 진행하고 이를 통해 구현한 결과물을 제출해야 합니다.

🪐 1주차 미션 : 숫자 야구게임

1. 과제 요구 사항 정리 (기능, 프로그래밍)

기능 요구 사항

  • 1부터 9까지 서로 다른 세 자리 숫자
  • 입력값이 잘못되면 throw문을 사용해[ERROR]로 시작되는 에러메세지 출력
  • 정답을 맞히면 게임이 끝난 경우 재시작/종료를 구분하는 1과 2 중 하나의 수 입력

프로그래밍 요구사항

  • Node.js 18.17.1에서 정상적으로 동작하지 않을 경우 0점 처리
  • App.jsplay 메서드를 통해 프로그램 실행
  • package.json을 변경할 수 없고 외부 라이브러리(jQuery, Lodash 등)를 사용하지 않는다. 순수 Vanilla JS로만 구현한다.
  • @woowacourse/mission-utils 라이브러리를 활용
  • 자바스크립트 코드 컨벤션을 지킨다. (함수 및 상수명)
  • 테스트가 실패할 경우 0점

과제 진행 요구 사항

  • 기능을 구현하기 전 docs/README.md에 구현할 기능 목록을 정리

2. 미션 진행의 흐름

  • 먼저 우테코에서 제공한 프리코스 과제가이드를 참고하여 git 셋팅을 진행했다.
    fork -> clone으로 내 local에서 작업을 진행하기로 했고, 현장에서는 실제 다른 작업을 위한 별도의 브랜치의 사용이 흔하기에 익숙해져보기 위해 jiwon이라는 새로운 브랜치에서 작업을 진행하게 되었다.

  • 요구사항을 분석한 후 게임의 흐름이 어떻게 진행되는지 파악했고 구현할 기능 목록을 docs>README.md에 정리했다.

  • 필요한 문구들을 상수화 해 src>constants>constants.js파일에 정리했다.

  • 먼저 주석으로 스케치한다고 생각하며 기능별 흐름을 순서를 정해 정리했다.

3. 이번 미션을 통해 배운 점

  • 클래스를 사용해본 적이 없어서 처음에 어려웠지만 클래스에 대해 이번 기회에 잘 숙지하고 넘어가자는 목표를 갖게 되었다. 자료 검색 뿐 아니라 우아한테크코스에서 토론하기와 함께나누기 채널에 있는 자료들을 보면서 이해도를 높였다.
  • 상수 관리의 중요성을 이해하고 이를 적용해 코드를 짰다.
  • npm test를 통해 테스트 코드를 사용했다.
  • 메서드를 분리해서 기능별로 로직을 짰다.

4. 이번 미션에서 아쉬웠던 점(+코드리뷰)

  • 알고리즘에 대한 경험이 많이 부족해 과제 초반에 적응하는데에 시간을 많이 쏟았다.
  • 클래스 분리를 통해 클래스 기반으로 코드를 작성하는 방법을 더 많이 해봐야겠다.
  • 테스트 코드의 중요성을 잘 몰랐고, jest에 대한 지식 또한 부족했다. 이후 2주차 미션을 통해서 향상된 실력을 갖춰야한다고 생각했다.
  • 제공된 라이브러리를 더 꼼꼼하게 살펴봐야한다는 것을 깨달았다. pickUniqueNumbersInRange이라는 겹치지 않는 수를 범위 내에서 뽑는 함수가 있었는데 미처 사용하지 못했다.
  • 커뮤니티에서 많이 언급하는 MVC 패턴에 대한 이해도가 부족해 아직 적용을 못했다. -> ❗️ 다음번엔 꼭 적용하자!
  • 또한 else if문보다 if문을 더 사용해 가독성을 높여야겠다고 생각했다.
  • 처음에 주석을 통해 스케치를 했다고 했는데 공통 코드리뷰에서 '의미없는 주석은 생략하라'라는 말이 있었다. 처음 주석을 작성한 부분은 코드 작성시 함수나 메서드 명을 통해 그 의도를 충분히 드러내고 곧바로 삭제하는 습관을 들이자.
  • 같은 맥락으로 함수나 메서드 명을 더 직관적으로 잘 짓는 방법도 더 필요하다고 생각한다.

5. 최종 후기

과제 초반 개인적인 일정 때문에 시간에 쫓겨 개발을 시작해서 아쉬운 점이 많았다. 빠른 구현에만 목적을 두어 코드의 가독성이나 클린코드에 대해 깊은 고민을 못한것 같아 아쉬웠고 부족한 부분을 공부할 시간도 충분치 못해서 이후 2주차 미션을 병행하며 좀 더 시간투자를 해서 따로 공부해야겠다고 생각했다.
커뮤니티의 글들을 보면 처음 듣는 용어도 많아서 걱정을 많이 했지만 개인의 성장에 집중하자고 마음을 다잡았다. 확실히 1주차 미션 이전에 비해 얻어가는 것이 많았다. 이제는 어느정도 프로그래밍 용어들을 알게 되었고 앞으로의 할 일은 그것들을 깊게 공부하며 나의 코드에 적용시켜 코드의 질을 높이는 것이다. 앞으로 4주동안 진지하게 노력하고 학습해서 더욱 성장할 수 있었으면 좋겠다.

profile
👩🏻‍💻

0개의 댓글