본문 바로가기
개발 일기/우아한테크코스

[우아한테크코스 5기] 프리코스 4주차 마지막 '다리 건너기' 미션 회고록

by 제이._ 2022. 11. 22.

드디어 우아한테크코스의 프리코스 과정이 끝이 났습니다.

 

약 한 달 동안 정말 많은 것을 배운 좋은 기회였습니다.

특히나 Stream 사용에 대해 많이 익숙해졌고, 테스트 코드의 중요성을 몸소 느꼈고, 클린코드와 리팩토링을 신경 쓰는 개발자로 성장한 것 같습니다.

 

이번 미션의 조건인 메서드 길이는 10라인 이하를 지키기 위해서 변수 사용을 어떤 식으로 하고 메서드는 어떻게 나눠야 할지 생각을 많이 할 수 있었습니다. 

 

또한 이번에 피드백으로 들어온 '객체는 객체스럽게'에 대해서도 고민을 많이 했습니다. 

따라서 외부에서 getter를 써서 기능을 구현하지 않고, 도메인 내부에서 최대한 처리하게 만들려고 노력했습니다.

 

지난주 미션에서 개인적으로 굉장히 아쉬웠던 점이 있었습니다.

 

기능 하나당 테스트코드를 작성하고 싶었지만, 구조적으로 중요한 메서드들도 테스트를 진행할 수 없었습니다.

이유는 전역 변수의 남발과 매개변수와 리턴 값을 생각하지 않고 작성해서 생긴 문제였습니다.

이런 상황에서 지난주에는 테스트 코드를 짤 수 없었던 부분은 직접 run을 돌리면서 어떤 것이 문제인지 확인해야 했습니다.

 

이번 주 미션에서는 이런 점들을 보완하고 싶어서 정말 흐름에 맞게 메서드를 나누려고 노력했고, 전역 변수 사용을 최대한 줄였고 기능 테스트하기 좋고 보기도 좋게 만드려고 노력했습니다.

결과적으로 중요한 로직들을 대부분 테스트 코드 작성해서 테스트할 수 있었고, 덕분에 리팩토링 시에 검증도 빠르게 이뤄졌습니다.

 

숫자를 랜덤으로 생성해주는 메서드 부분은 어떻게 테스트할지에 대해서도 고민을 했습니다.

자료를 찾다가 어차피 0과 1로 나와서 판단한다면, 인터페이스에서 1을 반환하게 해서 테스트를 할 수 있다는 것을 알게 됐고 테스트용 인터페이스를 테스트 패키지에 따로 만들어서 진행했습니다.

 

이번 주 미션을 통해서 테스트 코드의 중요성과 편리함을 알게 되었고, 테스트를 통한 검증하는 과정이 재밌어졌습니다.

또한 구조를 잘 나누고 메서드 분리를 잘하는 것이 유지 보수(테스트, 리팩토링 등등)에도 영향을 주는 것을 직접 느끼게 된 것 같습니다.

 

정말 프리코스 한 달의 과정 동안 많이 배우고 성장한 것 같습니다.

 

이번 미션 저의 코드는 아래와 같습니다.

https://github.com/sosow0212/java-bridge/tree/sosow0212

 

GitHub - sosow0212/java-bridge: 우테코 프리코스 4주차 최종 미션

우테코 프리코스 4주차 최종 미션. Contribute to sosow0212/java-bridge development by creating an account on GitHub.

github.com