우테코

[우테코] 프리코스 2주차 숫자야구 미션

2주차 미션 후기

3분 읽기
[우테코] 프리코스 2주차 숫자야구 미션

과제를 하며 느낀 점

1주차 미션을 하면서 함수를 분리하는 것이 익숙해졌다고 생각을 했다. 하지만 착각이었다.. 함수를 최대한 작게 만든다는 범위가 어디까지가 작은 것이고, 어떻게 나누고 어떻게 합칠지 고민을 많이했던 미션이었다. 쉽지 않았지만 함수를 작은단위로 나누며 느낀 것은 확실히 로직이 더욱 더 명확해진다는 것이다. 2주차 코수타에서 코치님께서 divide and conquer, 분할정복을 말씀하셨는데 작은 문제부터 해결해서 큰 문제를 해결해보라고 하셨다. 작은 기능부터 작동하게 만들고 그 기능들이 모여 숫자 야구 게임이 만들어 졌을 때 딱 코치님의 말씀이 와닿았다.(내가 잘 한건지는 모르겠지만 구현은 했으니까ㅎ) 또 이번 미션은 요구사항을 파악하며 코드를 작성하는 것이 정말 어려웠다. 요구사항을 파악하여 스스로 판단하는 것. 굉장히 어려웠다. jest를 이용해 테스트 코드를 작성하는 것이 요구사항에 있었다. 기능 단위로 테스트를 해야하는데, 사실 이 부분에서 내가 함수를 잘 나누고 있는건지 의문이 들었다. 내가 작성한 요구 기능 사항에는 필요한 기능(함수)도 작성하고 게임을 재시작할땐 반복하는 로직이 함수는 아니지만 하나의 기능이라 생각하고 작성했다. 그럼 반복하는 로직은 함수가 아닌데 테스트를 어떻게 해야하는건지 고민을 했었고 이 로직을 함수로 뺄려면 어떻게 해야하는거지하며 많이 괴로워했던 것 같다. 결국 반복하는 로직이 맞는지는 게임을 전체적으로 테스트하는 코드에서 테스트가 될거고 예외처리 테스트 코드까지 주어졌으니 내가 만든 기능(함수)만 테스트 코드를 작성하면 되겠단 판단을 스스로하여 숫자 야구 게임에 필요한 주된 기능들에 대해서만 테스트 코드를 작성을 했다. 결국 내 판단에 맡기고 과제를 제출했지만, 나의 판단에 대해 계속 의문을 가졌다. 테스트 요구사항 뿐만 아니라 indent depth 등 이게 맞나..? 맞겠지! 하며 넘어가지만 내 판단에 불안해하며 좀 위축되는 때도 종종 있었던 것 같다. 요구사항을 잘 파악하는 것도 개발자의 역량 중 하나라고 하셨다. 아직 내가 익숙하지 않은 것 뿐. 나도 익숙해지면 괜찮겠지하고 내 자신을 믿자고 많이 되뇌었던 것 같다. 3주차 미션 메일에 이런 글이 있었다.

"다른 사람과의 비교 보다는 어제의 나를 생각하며 본인의 속도에 맞추어서 마무리하는 걸 목표로 하면 좋을 것 같아요."

위로가 되었다. 분명 나는 어제보다 나은 오늘이 되고 있다. 하나씩 해결해 나가고 있으며, 앞으로 나아가고 있다. 너무 불안해 하지 말고 내 자신을 더 믿어야겠다고 생각했다. 자소서를 다 쓰고나서도 그렇고 미션이 끝나고 나서도 그렇고 우테코는 나에대해 돌아보게 해준다. 모든 지원자에게 프리코스를 경험시켜줘서 감사하다. 이 경험이 4주에서 끝나지 않았으면 좋겠다.

보완할 점

공통 피드백을 보고 2주차 미션에서 내가 무엇이 부족했는지 확실히 알 수 있었다. 특히 강의를 보고 어떻게 해야할지 감이 왔다. 기능 목록을 좀 최대한 작게 나눠보고 깔끔하게 작성해봐야겠다고 생각했다. 기능을 작게 나눌수록 기능 목록이 명확해지고 작은 단위의 테스트를 어떻게 해야할지도 명확해지는 것 같다. 그리고 예외 상황에 대해 기능 목록에 합쳐서 썼었는데 그 부분을 따로 빼서 작성해야겠다. 또, 지금까지 Function으로 코드를 작성했는데 3주차 미션은 Class로 작성해야한다. 클래스와 객체를 잘 학습하여 클래스도 잘 나눠보는 것이 이번 과제 목표다.

다른 포스트