우아한테크코스/프리코스

[우테코/프리코스] Week2. 2주차 프리코스 회고

lumana 2024. 11. 8. 23:41

목표 1. Clean Code 작성하는 습관

우테코 프리코스를 통해서 우선 코드를 작성하는 좋은 습관을 들이고 싶었다. 우테코 깃허브에 있는 PR전 체크리스트에 있는 내용을 종종 확인하면서 안좋은 습관들을 버리려고 노력을 하고 있다. 일급 컬렉션, 원시값 포장 같은 처음 들어봤던 내용들을 찾아 공부해보고, 학교 도서관에서 클린 코드 책을 빌려서 틈틈히 읽고 있다.

 

목표 2. 자바 기본기 다지기

그리고 자바 기본기를 다시 한 번 탄탄하게 해보고 싶었다. 우테코 프리코스 미션을 하면서 콘솔에서 주어진 문자열 파싱을 하거나, 여러 컬렉션을 사용하게 되었다. 그러다보니 확실히 부족하고 익숙치 않은 부분들에서 많이 배우고 있고, 개인 블로그를 통해서 공부한 내용을 따로 정리하고 있다. 알고 있다고 생각했지만 모르는 부분들이 많았다. 대표적으로 이번 프리코스 미션을 하면서 정규 표현식이나, 문자열 관련된 메서드를 많이 다루게 되었다. 그래서 String 클래스에 대해 다시 공부했다. 깊이 있게 공부를 하다보니 커넥션 풀이라던지 컴파일러 최적화라던지 디테일한 부분들을 꼼꼼히 챙기면서 공부를 하게 된 것 같다.

 

다만 2주차 회고를 적고 있는 현재 학교 시험기간(10/24~10/30)이 겹쳐서, 더 열심히 하고 싶은 의욕은 넘쳐나지만 시간적 여유가 안되는 점이 아쉬웠다. 물론 시험기간임에도 프리코스 미션에 대해서는 완벽히 수행했다고 생각한다. 하지만 다른 분들에게 코드리뷰를 받고, 저도 코드 리뷰를 하며 함께 성장해보고 싶다는 목표는 잠시 미뤄질 수 밖에 없었던 것 같다. 내일 모래 시험이 끝나게 되는데, 시험이 끝나는 대로 더 열심히 달려볼 생각이다.

 

추가하고 싶은 목표

기존 목표에서 변경하고 싶은 부분은 크게 없지만, 추가하고 싶은 것이 생겼다. 자바에 대해서 조금 더 깊게 파보고 싶은 생각이 들었다. 이번에 Console Input에 대해 테스트 케이스를 작성하다 보니, 스트림, 버퍼, 이런 내부 구현 코드들을 많이 보게되었다. 학교에서 운영체제나, 네트워크 등의 CS 수업을 들으면 보통 이론만 배우고 넘어가서, 코드 레벨로 구현해볼 기회가 주어지지는 않았다. 이번 기회에 자바 공부도 깊게 해볼 겸 못했던 공부를 추가로 더 해볼 생각이다.

 

프리코스를 하면서 생긴 변화

프리코스를 진행하면서 확실히 느껴지는 건 코드 한 줄을 작성할 때도 Best Practice를 생각하는 습관이 길러진 것 같다. 예전에는 C스타일 코드도 자주 작성하곤 했지만, 지금은 코드 한 줄이 어떤 사이드 이펙트를 가져올 지 염두하면서 코드를 작성하게 되었다.

또한 외부 프레임워크(Spring 등등)을 사용하지 않고 객체지향적으로 프로그래밍 하다보니 객체지향에 대해서도 확실히 많은 고민을 하게 되는 것 같다. Spring의 Autowired가 아닌, 의존관계 주입 클래스도 직접 만들고, 게터나 세터의 사용도 지향하는 습관을 기르면서 확실히 순수 자바 코드를 통해 객체 지향에 대해 조금 더 깊이 있는 이해도가 쌓이고 있다고 생각한다. 이번 미션을 진행하면서도, 이쪽 도메인이 여길 의존하면 코드 설계가 복잡해지겠구나 이런 것들을 고민을 많이하면서 리팩토링을 많이 했다. 리팩토링 하는 과정은 생각보다 오래 걸리고 쉽지 않았지만, 결국 최선의 답을 찾아나가는 과정에서 많이 성장하고 있다고 느껴진다.

 

 

1주차 미션이 끝나고 디스코드 커뮤니티가 활성화되면서 많은 좋은 내용들이 공유되고 있는 것 같다. 함께-나누기 채널에서 저와 비슷한 고민을 하고 있는 분들의 의견도 찾아보고, 개발에 도움이 되는 플러그인에 대한 정보들을 보면서 기존에 몰랐던 것들을 많이 배우고 있는 것 같다. 저 또한 고민해봤고 도움이 될만한 주제, 내용을 가지고 커뮤니티 활동에 열심히 참여해보겠다.