4주 차 미션을 마지막으로 프리코스가 종료되었다
어느 정도 틀이 주어진 채로 진행하였는데,
이를 잘 활용하기 위해 많은 고민을 하였다.
예를 들어 인터페이스가 주어졌을 때,
왜 인터페이스가 주어졌을까?
이를 활용하면 어떠한 장점이 있는지 등등 여러 가지로 공부하였다.
우선 알게 된 사실은 테스트를 돌리기 어려운 랜덤 값 생성을
인터페이스를 활용하여 테스트를 돌릴 수 있게 되었다.
단순히 기능 구현에 초점을 맞추지 않았다.
기능 구현은 누구나 할 수 있다.
나는 가독성과 효율성 둘 다 챙기고 싶었다.
그래서 처음에는 서비스를 생성하여 컨트롤러가
뷰와 도메인과 소통할 때 서비스를 거치도록 만들었다.
이는 오히려 가독성이 떨어지고 불필요한 과정이 되는 경우가 생기게 되었다.
그래서 이번 미션에서는 서비스를 제외하도록 리펙토링 하였다.
또한 처음에 필드 수를 줄이기 위해 for문을 사용하였다.
for문의 index를 필드 값 대신해서 사용하려 한 것이다.
하지만 이번 미션의 특성상 다시 처음부터 시작하는 경우가 있다.
즉 for문을 재귀 호출해야 하는 것이었다.
재귀 호출수가 적으면 괜찮지만 많아질수록 계속 스택이 쌓이게 되고,
메모리 낭비가 심해질 것이라 생각하여 whilea문으로 대체하고,
필드 값을 추가하였다.
마지막 미션이라 그런지 더 많은 것을 알게 되었고,
그로 인해 더 많은 리펙토링이 진행되었다.
공부를 할 수 록 부족한 부분이 보였다.
한번 리펙토링을 진행할 때마다 커밋수가 많이 증가하는 것 같다.
그로 인해 조금은 과한 172라는 커밋수가 나오게 되었다.
마지막 미션이 종료되었는데, 정말 아쉽다는 마음이 크게 드는 것 같다.
프리코스 4주 동안 정말 많이 발전했다고 느꼈다.
자바의 기본적인 문법부터 MVC패턴, 클린 코드 등
여러 가지로 성장했다.
마지막 미션 코드는 아래와 같습니다.
https://github.com/kimtaesoo99/java-bridge/tree/kimtaesoo99
값진 경험을 선물해주셔서 감사합니다.
'활동' 카테고리의 다른 글
[삼성전자 DX] 알고리즘 특강 (4) | 2023.01.13 |
---|---|
우아한테크코스 5기 - 불합격 및 배운점 (3) | 2022.12.15 |
우아한테크코스 5기 - 3주차 후기 (0) | 2022.11.16 |
우아한테크코스 5기 - 2주차 후기 (0) | 2022.11.08 |
교내 SW 프로그램 경진 대회 수상 및 후기 (1) | 2022.11.04 |