본문 바로가기

개발자

우테코 프리코스 프론트엔드 3주차 후기

[마지막 과제만을 남겨놓은 우테코 프리코스]

프리코스의 시작이 엊그제같은데, 벌써 세 번째 과제를 제출하고 마지막 과제만을 남겨놓고 있습니다. 이번 과제는 숫자야구와 비슷한 느낌인 로또 게임을 만드는 것이었습니다. 숫자 야구 과제에서의 요구 사항에 더해서 몇 가지의 요구 사항이 더 추가되었지만 전반적인 과제의 흐름은 숫자야구와 크게 변화가 없다는 점이 이번 과제의 특징이었습니다. 물론 클래스를 분리하고, 테스트 케이스를 작성하는 등 추가되 요구 사항 하나하나가 굉장히 어렵고, 깊게 프로그래밍을 파며 여러 프로젝트를 진행해봐야 감을 잡을 수 있는 요구 사항들이었습니다. 하지만 제가 이걸 지금 당장 지켜가며 프로그래밍을 할 수준이 되지 못하기 때문에 최대한 요구 사항을 지키되 제 이전 주차 코드에서 아쉬웠던 부분들을 개선하는 것을 개인적인 목표로 잡고 W3 과제를 시작했습니다.

 

[이전 과제에서 아쉬웠던 점은?]

W3의 과제를 바로 시작하기보다 W2의 숫자야구 과제와 다른 사람들의 코드를 읽어보면서 내 코드를 리팩토링하는 것부터 시작했습니다. 저와 비슷하게 급박하게 모든 기능들을 다 때려놓고 과제 통과에만 집중한 사람도 있었고, 클래스, 로직, 상수 등등을 모두 깔끔하게 정리하고 readme 파일까지 작성하여 PR을 올린 사람들도 있었습니다.(이분들은 왜 취업 안 하시고 여기에..?) 이렇게 다른 사람들의 코드를 보며 정리하다 보니 제 코드에 아쉬운 점을 두 가지 찾아낼 수 있었습니다.

   1) 예외 처리를 제대로 하지 않은 것

숫자 야구 과제의 경우 사용자가 숫자를 입력하는 부분에서 몇 가지 예외가 있었습니다. 예외를 만날 경우 에러를 발생시키며 프로그램을 종료해야 하는데, 모든 예외를 다 커버했다고 생각했지만 나중에 리팩토링을 하면서 보니 처리하지 않은 예외들이 있다는 것을 알게 되었습니다.

   2) 커밋 메시지를 중구난방으로 작성한 것

커밋 메시지를 어떤 식으로 작성해야 하는지에 대한 가이드를 세워 놓지 않았기 때문에 모든 커밋 메시지가 중구난방으로 작성되었습니다. 그래서 나중에 커밋한 내용을 살펴볼 때 어떤 내용인지 확인하기가 매우 어려웠습니다. 또한 오타라던지, 주석과 같은 작은 수정 사항들은 따로 커밋하지 않고, 다른 기능 구현 사항과 같이 커밋하다 보니 추후 확인 시 일관성이 떨어졌을 것입니다.

이러한 아쉬운 점을 보완하면서 W3 과제를 시작했습니다. 예외 사항은 따로 문서화하여 정리하고, 별도로 테스트를 돌려보면서 정확한 값만 입력될 수 있도록 개선했습니다. 그리고 커밋 메시지의 경우 우테코 프리코스 첫 주차부터 제공해준 커밋 메시지 가이드를 드디어.. 찾아보면서 이를 조금 단순화하여 나만의 커밋 메시지 폼을 만들었습니다.

 

[W3 마무리]

W3 과제도 대충대충 열심히 마무리하고 이번에는 과제가 마감되자마자 다른 사람들의 제출 내역을 확인하면서 리팩토링을 진행했습니다. 그리고 역시 진정한 무림 고수들을 만날 수 있었습니다. 이제 우테코 과제는 마지막 주차를 남겨두고 있는데 W3보다 훨씬 더 엄격해진 조건을 가진 문제가 기다리고 있습니다. 최종 코딩 테스트까지 갈 수는 없을 것 같지만 지금까지 포기하지 않고 노력한 것을 셀프 치하하며 마지막 주차도 마무리해보도록 하겠습니다.