3주차는 로또 번호 추첨 프로그램을 만드는 미션이 주어졌다.
이번 과제의 중점은 도메인 로직과 UI 로직을 분리하는 것에 있는 것 같다.
이전 미션들을 하며 배운 내용들을 적용하며 추가로 로직 분리를 경험하였다.
벌써 3번째 미션인 만큼 미션을 할 때마다 eslint와 prettier 설정들을 찾거나
전 미션에서 복사해오는 방식보다 블로그 등에 기록을 해두고 가져오는 편이 좋은 것 같다.
4주차 미션 시작전에 설정을 블로그에 저장해야겠다.
추가로 jest 관련 extension들을 설치하여
좀 더 수월하게 테스트 케이스를 작성하고 테스트 하였다.
여태까지의 미션들을 하며 배운 내용들을 최대한 이번 미션에 적용하려고 하였다. 이번 프리코스를 통해 배운 것들은 다음과 같다. (이번 미션에서 배운 점 포함)
위에서 언급한 내용들 중 이번 미션의 쟁점이자 가장 어려웠던 점이 로직 분리이다.
뭔가 MVC 패턴 형태로 분리를 해야 할 것 같은데 일단 웹이 아니다 보니
View에 해당하는 부분이 콘솔창에 입력하고 출력하는 부분인 것 같다.
View 부분에 콘솔 입출력 함수를 작성해 놓고
다른 곳에서 불러서 사용하는 방식으로 작성했다.
다만 readline이 비동기로 작동하다 보니 불러온 함수에 입력 후 동작이 담긴
콜백함수를 전달하는 방식으로 작성했지만 완전히 분리하지 못한 것 같다.
어떤 식으로 분리하는 것이 컨벤션인지 정석인지 해설이 제공됐으면 좋겠다.
Github : 3주차 로또 미션 풀이