우테코 프리코스 3주차 회고 [로또]

코몽·2022년 11월 15일
0

WOOTECO

목록 보기
3/4

우테코 프리코스 3주차

3주차는 로또 번호 추첨 프로그램을 만드는 미션이 주어졌다.
이번 과제의 중점은 도메인 로직과 UI 로직을 분리하는 것에 있는 것 같다.
이전 미션들을 하며 배운 내용들을 적용하며 추가로 로직 분리를 경험하였다.


깨달은 점

1. eslint 및 prettier 설정 기록의 필요성

벌써 3번째 미션인 만큼 미션을 할 때마다 eslint와 prettier 설정들을 찾거나
전 미션에서 복사해오는 방식보다 블로그 등에 기록을 해두고 가져오는 편이 좋은 것 같다.
4주차 미션 시작전에 설정을 블로그에 저장해야겠다.

추가로 jest 관련 extension들을 설치하여
좀 더 수월하게 테스트 케이스를 작성하고 테스트 하였다.


2. 이전 미션들에서 배운 준수 사항 적용

여태까지의 미션들을 하며 배운 내용들을 최대한 이번 미션에 적용하려고 하였다. 이번 프리코스를 통해 배운 것들은 다음과 같다. (이번 미션에서 배운 점 포함)

  • 기능 구현 목록 작성
  • 기능 별로 분리하여 함수 구현
  • 기능 별로 커밋 메시지 작성
  • 파일 분리 및 상수 분리
  • 동일 유형의 기능끼리 묶어 클래스화
  • 사용자 입력 값 조건식을 최대한 정규표현식으로 구현
  • eslint, prettier 등 초기 설정
  • EOL 확인
  • 조건식, 고정 값, 출력문, 에러 메시지 등 상수로 선언
  • 상수가 많을 시 하나의 클래스로 선언 후 deepFreeze
  • 도메인 로직과 UI 로직 분리
  • 도메인 로직들에 대한 테스트 케이스 작성

3. 도메인 로직과 UI 로직 분리

위에서 언급한 내용들 중 이번 미션의 쟁점이자 가장 어려웠던 점이 로직 분리이다.
뭔가 MVC 패턴 형태로 분리를 해야 할 것 같은데 일단 웹이 아니다 보니
View에 해당하는 부분이 콘솔창에 입력하고 출력하는 부분인 것 같다.

View 부분에 콘솔 입출력 함수를 작성해 놓고
다른 곳에서 불러서 사용하는 방식으로 작성했다.

다만 readline이 비동기로 작동하다 보니 불러온 함수에 입력 후 동작이 담긴
콜백함수를 전달하는 방식으로 작성했지만 완전히 분리하지 못한 것 같다.

어떤 식으로 분리하는 것이 컨벤션인지 정석인지 해설이 제공됐으면 좋겠다.


결론

  • MVC 패턴으로 로직 분리 공부
  • 취업하기 위해 배워야할 것들이 점점 늘어나는데 나의 학습 속도가 따라가지 못한다
  • 1년만 마음 놓고 공부할 시간이 있었으면 좋겠다
  • 응? 1년전에도 이 소리 한 것 같은데?

총합

  • 기능 구현 목록 작성
  • 기능 별로 분리하여 함수 구현
  • 기능 별로 커밋 메시지 작성
  • 파일 분리 및 상수 분리
  • 동일 유형의 기능끼리 묶어 클래스화
  • 사용자 입력 값 조건식을 최대한 정규표현식으로 구현
  • eslint, prettier 등 초기 설정
  • EOL 확인
  • 조건식, 고정 값, 출력문, 에러 메시지 등 상수로 선언
  • 상수가 많을 시 하나의 클래스로 선언 후 deepFreeze
  • 도메인 로직과 UI 로직 분리
  • 도메인 로직들에 대한 테스트 케이스 작성

Github : 3주차 로또 미션 풀이

profile
프론트엔드 웹 개발자

0개의 댓글