1주 차 미션은 개발 환경 세팅과 GitHub 과제 제출 방법 등,
미션 수행 외에도 여러 가지를 함께 익혀야 해서 가벼운 난이도로 출제되었습니다.
1주 차 미션은 다음과 같습니다.
- 문제 : 문자열 덧셈 계산기
- 기한 : 2025-10-14 15:00 ~ 2025-10-21 00:00 (7일)


회고
과제의 요구사항이 모호하게 주어진다.
과제에서 가장 처음 해야 할 일은 README를 작성하는 것입니다.
하지만 기능의 요구사항을 분석하고 README를 작성하는 데 어려움을 겪었습니다.
그 이유는 과제의 기능 요구사항이 모호하게 제시되었기 때문이라고 생각했습니다.
코딩 테스트 문제를 풀어보면 문제 상황에 필요한 조건과 값에 대한 범위가 정확하게 주어집니다.
하지만 해당 과제의 요구사항들은 조건이 하나씩 부족하다는 느낌을 받았습니다.
요구사항에 대해 계속해서 고민하다가 과제 진행 방식에서 다음 문장을 확인할 수 있었습니다.
기능 요구 사항에 기재되지 않은 내용은 스스로 판단하여 구현한다.
이 문장을 확인하니, 요구사항이 모호하게 작성된 이유를 깨달을 수 있었습니다.
모호한 요구사항들을 점검하며, 스스로 최선의 판단을 내릴 수 있도록 의도된 것이라 생각했습니다.
기능 목록 단위로 README를 작성하고, 커밋하자
과제에서 낯설게 느껴졌던 것은 README에 구현할 기능 목록을 작성하고,
Git의 커밋 단위를 README에 작성한 기능 목록 단위로 추가하는 과정이었습니다.
과제에서 위의 요구사항을 얼마나 잘 준수했는가를 묻는다면, 약 80% 정도만 만족했다고 생각합니다.
과제가 처음이다 보니 기능 목록 단위의 경계를 모호하게 잡고 커밋을 했던 것 같고,
다음 주차를 학습하며 요구사항을 더 꼼꼼히 작성해 보고자 합니다.
디스코드 채널을 잘 활용하자
우테코를 신청하면 프리코스를 진행하는 다른 참여자분들과 소통할 수 있는 디스코드 채널에 초대됩니다.
채널에서는 오프라인 스터디도 모집하고 개발과 관련된 주제, 관련되지 않은 주제에 대해 소통합니다.
Java를 처음 공부하시는 분부터 정말 뛰어난 실력을 갖추고 계신 분까지 다양한 분들이 모이기 때문에
Java뿐만 아니라 다양한 주제들에 대해 의견을 나누고 배울 기회라고 생각했습니다.
코드 리뷰뿐만 아니라 다양한 활동들에도 참여해 봐야겠다고 생각했습니다.
모든 과정에 의문을 품자!
우테코에 도전해 보기로 했던 이유는 우테코 참여자들과 코드 리뷰를 통해 소통하고,
문제를 끊임없이 고민할 수 있는 환경이라고 생각했기 때문입니다.
그러한 목표를 되새기며 과제를 진행할 때, 단순한 문제 해결이나 선택 과정에서도 끊임없이 질문하고 고민하려 노력했습니다.
제가 고민했던 내용들은 다음과 같습니다.
- mvc패턴을 왜 사용할까?
- 테스트 코드는 어디까지 작성해야 할까?
- 클래스의 책임을 잘 구분했는가?
- 입력을 위한 Input은 mvc에서 어디에 속해야 할까?
- 언제 static vs non-static을 고민할 수 있을까?
이러한 내용들은 정리하여 블로그에 게시해 보고자 합니다.
라이브러리가 주어진다면 내부 구현을 잘 확인해 보자!
1주 차 과제에서는 우테코에서 제공하는 라이브러리를 사용해서 문자열을 입력받아야 했습니다.
처음에는 Console.readLine()이 어떻게 구현되어 있는지 관심을 두지 않고 구현했습니다.
하지만 입력에 빈칸("")이 주어져야 하는 경우 테스트에 ("")를 입력하니 예상과 다르게 오류가 발생했습니다.
Console의 내부 구현을 확인해 보니 Scanner의 nextLine()을 사용하고 있었고,
이는 문장의 줄 구분 기호를 제외한 현재 줄의 나머지 부분을 반환하고 있어 ("\n")를 입력해야 했습니다.
이를 통해 라이브러리를 사용할 때는 내부 구현을 잘 이해해야 한다는 것을 깨달았습니다.
테스트 코드 작성
테스트 코드 작성은 필수 요구 사항은 아니었지만,
코드가 제대로 동작하는지 확인해야 했기에 간단한 테스트 코드를 작성하고자 했습니다.
하지만.. 계획했던 것과 달리 테스트 코드를 작성하면서 "이런 입력이 주어지면 어쩌지?"라는 생각이 반복되면서,
쓸모없는 입력값에 대한 테스트 코드도 작성하고 있다는 사실을 깨달았습니다.
그래서, 주어진 과제의 핵심이 될 수 있는 테스트 코드를 제외하고 과감하게 삭제하기로 결정했습니다.
이는 요구사항 분석을 자세하게 하지 않았기 때문이라고 생각했습니다.
다음 미션을 진행하면 요구사항을 더 자세하게 분석하고 과제에 필요한 테스트 코드를 잘 구분하여 작성해야겠다고 생각했습니다.

마치며
과제 제출이 종료되면 우테코 참여자들과 상호 코드 리뷰 시간이 주어집니다.
이 과정이 우테코의 핵심이라고 생각합니다.
제가 해결하지 못했거나 고민하고 있던 부분을 타인과의 소통으로 해결해 나갈 수 있고,
다른 참여자들은 문제를 어떻게 해결해 나갔는지 확인하고 보완할 수 있는 시간이라고 생각합니다!
이 시간을 소중하게 생각하고 적극적으로 참여하여 많은 것을 얻어갈 수 있었으면 좋겠습니다.
'우아한테크코스' 카테고리의 다른 글
| [우아한테크코스] 우테코 프리코스 8기 BE - 3주차 회고 (0) | 2025.11.07 |
|---|---|
| [우아한테크코스] 우테코 프리코스 8기 BE - 2주차 회고 (0) | 2025.10.28 |