우테코 5기 프리코스 3주차가 끝나자마자 쓰는 따끈따끈 회고글!
3주차 미션 안내
3주차 미션은 로또 게임을 구현하는 것이다.
특히 클래스로 구현하기, 단위 테스트 작성하기에 주안점을 두고 수행해야 했다.
(미션은 오픈되어 있어서 링크를 공유합니다. 자세한 내용이 궁금하시다면 링크를 참고 바랍니다.)
3주차 미션 회고
배우고 적용한 것
1) 클래스로 분리해서 구현하기
- 클래스보다 함수가 편해서 함수 위주로만 사용했었는데, 이번 기회에 모든 부분을 클래스로 구현했다. 역시 외부 자극이 중요하다!
- static, prototype method의 차이점이 특히 잘 이해가 안됐었는데, 이번 기회를 통해 많이 이해할 수 있었고, 상황에 맞게 변경하면서 쓸 수 있게 되었다.
- 지난 피드백 영상을 보고 기능 구분에 대한 인사이트를 얻을 수 있었는데, 이를 기반으로 메서드를 기능 별로 작성했다.
2) 단위 테스트 작성
- 예외 처리 위주로 단위 테스트를 작성 했다. 예외 상황들을 직접 확인하지 않고 테스트 코드로 바로 확인하고 수정할 수 있어서 유용했다. (로또는 입력할 숫자가 많아서 콘솔로 그때 그때 확인하는게 생각보다 귀찮은 작업이였는데, 테스트 코드로 확인하니깐 간편했다)
- 입력값과 출력값의 형식 등을 잘 맞추는 부분이 어려웠고, 자꾸 놓치는 부분도 많아서 고민도 오래 하고, 테스트 결과도 참고하면서 수정했다. (이건 전반적으로 고민을 많이 했다)
- 콘솔로 입력을 받기 때문에 처음에는 String으로 들어온다. 근데 Number형으로 필요한 순간들이 있었고, 배열에 넣어줘야 하기도 했다. 그때 그때 바꿔도 되지만 효율적인게 뭘까 고민했다. 그리고 내가 짠 코드에는 Number와 String이 번갈아서 필요한 순간들이 있어서, 스스로도 헷갈려졌는데 지금 생각해보니 문제의 코드라는 생각이 든다.
3) 자바스크립트 내장 API를 활용해서 두 배열 비교하기
- 구매한 로또와 당첨 번호를 비교하기 위해 두 배열을 비교할 때 효율적인 방법이 무엇일지 고민했다.
- 로또를 아주 많이 사게 된다면 어떤 방법을 사용하는 것이 더 빠른 연산이 될지 결론까지는 못찾아 냈지만, 내장 API들을 배울 수 있었다. 내장 API의 속도에 관해서도 공부해봐야 겠다.
- 배열을 순회할 때는 map, forEach 등을 활용하기
- 포함 여부를 확인할 때는 includes 활용하기
- 예외 처리를 할 때는 find, findIndex 등 활용하기
2. 아쉬운 점 / 앞으로 할 일
1) 깃 커밋 컨벤션
- 커밋 컨벤션을 지켜서 커밋을 했다고 생각했는데, 1주차~3주차 모두 아쉬운 부분이 많다. scope를 써야하나 고민했었는데, 너무 길어져서 지금은 안쓰고 있다. 근데 다시 보면 뜻이 명확하게 전달되지 않는 것 같다. 컨벤션도 다시 공부해봐야겠다.
- 다른 사람들이 봤을때 좀더 명확하게 알 수 있도록 해야겠다.
2) 학습 자료로 테스트 코드 활용하기 / 단위 테스트 작성
- 단위 테스트 작성을 거의 예외 처리 위주로만 작성하고, 다른 단위들은 제대로 구현하지 못해서 아쉬웠다.
- 테스트 코드를 학습 자료로 활용할 수 있다고 해주셨으나, 일단 작성에만 급급해서 해당 부분에 대해서는 학습하지 못했다.
- 앞으로 이 두가지 부분에 대해서도 더 공부하고 활용할 수 있어야겠다.
3) 아직 풀리지 않은 의문!
- 수익률 출력시 회계 형식으로 작성해야 하는걸까? 맞다면 어떻게 처리해야 할까?
- toLocaleString을 사용하려고 했으나, 반올림을 위해서 toFixed와 섞어 쓰려고 하니 잘 안됐다.
- 그리고 0.0%인 경우도 같이 잘 표현하려고 하니 더 어려웠다.
- 이 부분을 마지막에 고민해서 일단 회계 형식으로 작성하지 않고 기존 코드로 제출했는데......맞는걸까.....의문이다.
3주차 소감
지난주에는 파일 구조를 생각하는데 정말 오랜 시간이 걸렸는데, 피드백 영상을 보면서 인사이트도 조금 얻은데다가 지난주것을 기반으로 생각해서 그런지 훨씬 수월하게 시작할 수 있었다. 클래스 같이 잘 안써본 방법을 사용해야 했지만 전반적으로 지난주 대비 과제에 익숙해져있다는 느낌을 받았다. 더 잘했는지는 모르겠으나 익숙해진 것만으로도 성장하고 있음을 느낄 수 있어서 의미 있었다. 클래스를 쓰는게 왠지 불편해서 자꾸만 미루고 있었는데 한주동안 클래스에 대해 많이 배우고 익힐 수 있었던 점이 정말 좋았다. 벌써 마지막 주차가 다가오고 있다니 믿기지 않는다. 다음 미션은 무엇일까 궁금하기도 설레기도 한다.
'회고 > 우아한 테크코스 5기 프리코스' 카테고리의 다른 글
우테코 최종코딩테스트 회고 (0) | 2022.12.19 |
---|---|
우테코 프리코스 프론트엔드 4주차 회고 (0) | 2022.12.19 |
우테코 프리코스 프론트엔드 2주차 회고 (0) | 2022.11.11 |
우테코 프리코스 프론트엔드 1주차 회고 (0) | 2022.11.10 |
댓글