우아한 테크코스 8기 프리코스 1주차 과제를 진행하고 느낀점을 작성해보려고 한다.
처음 과제를 받았을 때, 1주차 과제라 비교적 쉬운 난이도의 과제라고 설명되어 있었지만, 막상 해결하려고 하니 쉽게 시작되지 않았습니다. 우선 과제의 구현 내용과 별개로 code style, git commit convention, clean code 이 세 가지를 반드시 지켜야 한다고 생각했습니다. 그래서 우테코에서 제공한 README.md를 참고해 블로그에 먼저 정리했습니다. 정리를 하고 나니 코드를 어떻게 작성해야 하고, 작업 단위를 어떻게 나눠야 할지 조금은 감을 잡을 수 있었습니다.
이후 구현 기능 목록을 README.md에 작성해야 했는데, 처음부터 전체 구조를 설계해서 정리하는 것이 쉽지 않았습니다. 그래서 먼저 떠오르는 내용만 정리해 두고, 개발을 진행하면서 변경 사항이 생기면 수정하기로 했습니다.
기능을 구현하면서 가장 헷갈렸던 부분은 입력 숫자를 정수로 받을지, 실수까지 허용할지였습니다. 만약 실수 입력(예: 0.3)을 오류가 아닌 정상 값으로 처리한다면 로직이 매우 복잡해질 수 있기 때문입니다. 그래서 기존 테스트 코드를 보고 입력은 정수만 주어진다고 판단하고, 정수를 기준으로 로직을 작성했습니다. 이 판단이 정확한지는 아직 확신하지 못하지만, 우선은 테스트 통과를 목표로 코드를 작성했고, 이후 코드 리뷰를 통해 검증받으면 좋겠다고 생각했습니다.
그렇게 기능 구현을 마치고 과제를 제출했는데, 예제 테스트가 통과되었습니다. 통과하지 못하면 어쩌나 걱정이 많았는데, 성공해서 정말 기뻤습니다. 처음에는 단순한 과제라고 생각했지만, clean code 규칙을 지키며 작성하려다 보니 예상보다 시간이 훨씬 오래 걸렸습니다.
오랜 시간을 들여 고민하며 코드를 작성하니, 이전에 진행했던 프로젝트 코드에서의 문제점들이 떠올랐습니다. 앞으로 진행할 프로젝트에서도 clean code 원칙을 적용한다면 유지보수가 훨씬 수월해질 것이라는 생각이 들었습니다.
프리코스는 총 5개의 과제로 이루어져 있는데, 첫 번째 과제만으로도 이미 많은 것을 배우고 있습니다. 남은 과제들도 충분한 시간을 투자해 몰입한다면, 개인적으로 큰 성장을 이룰 수 있을 것이라 확신합니다.