- Published on
우테코 문자열 덧셈 계산기 미션 회고
- Authors

- Name
- Seongrok Lee
🧮 미션 소개
이번 미션은 문자열에 포함된 숫자를 구분자(기본/커스텀) 를 기준으로 분리하고,
이를 더해 결과를 출력하는 간단한 계산기를 만드는 과제였습니다.
기본 구분자는 ,(쉼표)와 :(콜론),
커스텀 구분자는 //구분자\n 형식으로 지정할 수 있도록 구현했습니다.
🧠 구현 과정에서 겪은 어려움
가장 시간이 많이 들었던 부분은 커스텀 구분자 처리와 줄바꿈(\n) 처리였습니다.
- 한 줄에
\n이 입력될 때 실제 개행으로 치환하는 로직 //선언부와 second line 존재 여부 판단- 잘못된 형식에서 즉시 예외를 던지는
Validator설계
이 부분에서 여러 번 디버깅을 거치면서 로직을 안정화할 수 있었습니다.
특히 Console.readLine()이 실제 개행을 인식하지 못하는 환경에서 수동으로 변환하는 로직을 짜는 데 고민을 많이 했습니다.
🧾 Validator와 예외 처리
처음에는 단순히 토큰만 검사했지만, 점점 조건이 늘어나면서 Validator를 명확한 역할을 가진 클래스로 설계했습니다.
- 빈 문자열 →
0반환 - 알파벳, 특수문자, 음수 →
IllegalArgumentException - 잘못된 커스텀 구분자 형식 →
IllegalArgumentException - 구분자 기준으로 토큰화 후 파싱까지 책임 분리
이 과정에서 SRP(단일 책임 원칙) 을 코드로 실천해 볼 수 있었습니다.
✍️ 코드 스타일 정리
기능을 모두 완성한 후에는 Java Style Guide (Google + 우테코 가이드)를 적용해 전반적인 코드를 다듬었습니다.
- 들여쓰기 4 space
- 불필요한 공백 제거
- 메서드와 클래스 이름으로 의도를 드러내도록 수정
- 디버깅 로그 제거
이 과정에서 제 평소 코딩 습관이 얼마나 자유분방했는지 깨닫게 되었습니다.
앞으로는 가독성과 유지보수성을 위해 처음부터 규범적인 코딩을 지향하려 합니다.
🪄 커밋과 일정 관리
이번 미션에서는 커밋 관리도 쉽지 않았습니다.
중간에 큰 단위로 커밋하거나 메시지를 모호하게 작성한 경우가 있었죠.
앞으로는 기능 단위로 작게 커밋하고, 의미 있는 메시지를 남기도록 하겠습니다.
또 일정 관리 측면에서도 노션 + 캘린더를 활용해 작업 계획과 마감일을 꼼꼼히 관리할 생각입니다.
🚀 마무리 소감
안녕하세요, 이번 계산기 과제를 통해 오랜만에 즐기면서 개발을 했습니다.
특히 커스텀 구분자와 줄바꿈(\n) 처리에서 시간이 많이 들었지만,
디버깅을 통해 문제를 해결하면서 스스로 설계한 코드가 돌아가는 즐거움을 느꼈습니다.
이번 미션을 통해:
- 객체 지향적 사고의 필요성
- 예외 상황을 견고하게 처리하는 습관
- 코드 스타일과 커밋 단위의 중요성
을 배울 수 있었습니다.
아직 부족한 점이 많지만,
내 손으로 코드를 만든다는 자부심을 가지고 계속 도전하겠습니다 💪
