우테코

[우테코] 프리코스 3주차 로또 미션

3주차 미션 후기

2분 읽기
[우테코] 프리코스 3주차 로또 미션

이번 미션에선 지난주에 받은 피드백들을 최대한 지키면서 하려고 노력했다. 특히 살아있는 기능 문서로 만들기 위해 기능 구현 목록을 계속 고치며 업데이트 했다. 처음부터 잘 짜고 싶은 마음이 커서 처음에 기능 구현 목록 작성할 때 시간을 많이 들였는데 결국엔 계속 뜯어 고쳤었다. 로직을 두 세번 갈아엎었는데 이런 경험을 하고나서 깨달았다.

어짜피 계속 고쳐나갈거 단순하게 작성하고 작은 것부터 하나씩 해결하자..!

피드백 강의도 보고 코수타에서도 작은 것부터 분할정복하라는 메시지를 받아놓고 왜 내 자신을 믿어서 한번에 잘하려고 하는지 모르겠다.. 난 천재가 아닌데! 마지막 미션에선 꼭 차근차근 하나씩 해나갈 것이다!


지난주 숫자야구미션 코드를 다시 한번 봐봤다. 분명 그 당시엔 기능별로 나눴다고 생각했는데 다시보니 뭔가 많이 부족해 보였다. 이번 미션에선 하나의 함수가 한 가지 기능을 하게끔 만드는데 노력을 많이했다. 메서드 코드를 15줄 이상 안넘기려고 노력하다보니 자연스럽게 어떻게 나누는지 감이왔다. 기능을 작은 단위로 나누다보니 확실히 코드도 직관적이면서 간결해지는 것을 느꼈다. 반면에 클래스는 잘 나눈건지 모르겠다. 클래스를 사용해 구현해보는 것이 처음이라 익숙하지 않았다. 그래서 초반에 많이 헤맸다. 미션 요구사항에 "핵심 로직을 구현하는 코드와 UI를 담당하는 로직을 구분한다" 라고 나와있었는데, 나는 이 요구사항을 View라는 클래스와 Input이라는 클래스를 통해 UI로직을 따로 분리했다. 그 외에 로또와 각 입력값에 대한 유효성을 검사하는 클래스, 로또 생성 클래스, 당첨번호와 비교하는 기능 클래스 이렇게 클래스를 분리하였다. 아직은 클래스에 대해 익숙하지 않은 것 같다. 피드백을 꼼꼼히 읽어서 이번 미션에서 조금 더 익숙해져야겠다고 생각했다.


UI로직을 제외하곤 모든 기능에 대해 단위테스트를 작성했다. 유효성 검사로 예외처리하는 로직이 많았는데 일일히 테스트 코드를 작성하다보니 jest에 많이 익숙해졌다. 또, 테스트 코드를 작성하고 테스트 해보면서 내가 생각하지 못한 예외도 찾을 수 있었고, 내가 만든 기능에 대한 오류도 찾을 수 있었다. 이 경험으로 왜 단위 테스트가 필요한지 알 수 있었다. 만약 테스트를 돌리지 않고 어플리케이션을 출시 한다면 내가 모르는 버그가 있는 채로 출시가 되는 거니까 엄청 끔직하겠단 생각을 했다. 테스트 코드에 대한 피드백이 있던데 확실하게 짚고 넘어가봐야겠다. 프리코스 피드백 짱짱맨.


이번 미션은 밤샌날도 많고 많이 고됐던 것 같다. 미션 초반에 헤매면서 정말 답답하고 벽을 느끼는 것만 같았는데 어려움을 극복하다보니 한층 더 성장한 기분이 든다. 아직 많이 부족하지만 어제보다 조금이라도 더 나은 오늘이 되기위해 노력하다보면 언젠가는 익숙해져서 나도 고수가 될 수 있지 않을까란 생각을 한다. 롤드컵 우승한 데프트 선수가 그랬다. 중요한건 꺾이지 않는 마음. 힘들어도 포기하지말자! 할 수 있다!

다른 포스트