티스토리 뷰

들어가며

미션2에서 어떻게 더 좋게 만드는지 그 방법을 아무리 생각해도 잘 모르겠어서 뭔가 마음에 안 드는 상태로 제출하게 되었다. 미션2의 피드백을 받고나서 모든 내용이 나에게 해당되는 듯한 느낌을 받았고, 어떤 점에서 아쉬웠는지 알 수 있었다. 미션2에서 객체의 데이터를 기준으로 클래스를 나누려고 했기 때문에 마음에 안 들었던 것이었다. 그래서 클래스를 나누는 기준이 더 어렵게 느껴졌던 것 같다. 미션3를 하면서는 객체를 나누는 기준을 하는 일에 집중해보려고 했다. 또한, 객체에게 메세지를 보내는 방식을 의식하려고 노력했다.

미션1,2

  • 메소드를 나누고, 이름을 짓는 고민을 많이 했다. (이름짓기가 이렇게 어려운 것인지 미션1을 하면서 처음 알게 되었다.)
  • input 값을 받을 때 유효성 검사? 를 처음 해봤던 것 같다. exception에 대해 생각해보기 시작했다.
  • 미션1을 할때만 해도 클래스를 나누는 것 자체가 더 어려웠다. 메소드를 나누다 보니 클래스로 묶고 싶은 것들이 생겨서 상당히 신기해 했던 기억이 난다.
  • utils에 랜덤 클래스를 만들어 사용하는 것, scanner를 하나만 만들어서 다른데서 사용하는 방식 등 가이드를 주어서 좋았다. 컨벤션 자료들과 요구사항 등 미션들과 피드백이 상당히 친절한 느낌이었다.
  • 미션2를 하면서는 상수를 처리하는 방식에 고민을 많이 하였다. 상수를 어떻게 보관하는게 좋은지 아직도 잘 모르겠지만 어찌되었든 하드코딩 자체가 많이 줄었다.
  • 미션2를 하면서 인스턴스를 어디서 생성해야 좋은지에 대해서 생각해보기 시작했다.
  • 미션2를 하면서 가장 많이 들었던 생각은 뭐가 맞는거지? 였던 것 같다.

미션3

  • 클래스가 하는 역할과 메세지를 보내서 대답을 해주는 방식으로 작성하고자 노력했다.
  • 기존에 하던 것보다 클래스가 많아지니까 가능하면 . 으로 연결해서 접근이 길어지는 것을 줄이려고 노력했다. 가능하면 할 수 있는지 없는지 여부를 boolean 값으로 받으려고 했다. 이러다보니 클래스 내부에 public 메소드가 많아졌는데 이게 좋은걸까 싶기도 하다.
  • 메소드가 리턴해서 값을 보내주는 방식으로 작성하고자 했다. 외부 노출하는 리스트는 read-only로 변경해서 리턴해주는 방식도 처음 알았다.
  • Station, Line 등의 단위객체? 로 보관하는 방식이 익숙하지 않고 다루기 힘들었는데 뭔가 더 단단하게 자료를 보관하는 느낌을 받게 되었다.
  • 그러면서 스트림을 처음 사용하게 되었다. 상당히 유용한 점이 많을 것 같다.
  • 중복되는 내용을 어떻게 하면 합칠 수 있을까 생각을 많이 했다. 공통되는 요소는 가능하면 모으려고 했는데 분명 더 효과적으로 할 수 있는 부분이 있을 것 같다. 상속이나 인터페이스 구현해서 중복을 제거할 수 있는 방법이 있을 텐데 아직 어떻게 해야되는지 잘 모르겠다. 😥
  • LinkedList도 처음 사용해보게 되어서 재미있었다. 이외에도 collections의 다양한 메소드에 대해좀 더 알게 되었다.
  • 예외처리하는 부분은 여전히 너무 어렵다.😂 input 값을 받을 때 유효성 검사 처리는 어디서 해주는게 좋은건가 싶다. inputManager가 값을 받으니까 검사까지 해서 넘겨주는게 맞다 생각이 드는데 중복되는 검사들을 줄이는 방법은 없을까라는 생각이 든다. 같은 내용을 검사하더라도 리스트에 존재할 때 에러메세지를 보내는 내용이 있고, 리스트에 존재하지 않을 때 에러메세지를 보내는 내용이 있어서 이런 것들을 효과적으로 정리하는 방법이 궁금하다.
  • 객체는 어디까지가 단일책임일까
  • 아직도 많이 이해하지 못하지만, 같은 내용을 다르게 작성한 방식, 생각한 방식을 보는 것은 재밌다.😁

우테코 프리코스를 하면서 생긴 좋은 습관

  • 리드미에 정리를 하는 습관이 생겼다. 구현 전에 사전에 정리하니 어떤 식으로 진행할 지 사전에 더 많은 고민을 하게되었고 진행할 때 도움이 많이 되었다.
  • 커밋을 의식하는 습관이 생겼다. 커밋을 의식하다 보니 내가 지금 하려는 일을 단위목표로 쪼개서 생각하게 되는 것 같다. 또한, 로그를 보면서 어떤 식으로 했는지 기억을 떠올리기가 좋다.
  • 요구사항 내용을 계속 의식하게 되어서 메소드가 쪼개는 것과 포멧팅하는 빈도가 많이 늘었다. 아직도 메소드를 더 쪼개는 연습을 해야겠지만, 뭔가 메소드가 길면 불편해지게 되었다.
  • 객체에 대해 생각해보게 되었다. 2개월 전 읽은 책을 이번에 다시 읽으면서 이해할 수 있는 부분이 많아져서 신기했다. (내년에 읽으면 더 많이 이해할 수 있겠지!)
  • 상수처리에 대한 고민이 늘었다. 하드코딩을 줄이게 되었다.
  • 이름짓는데 많은 생각을 하게 되었다. (거의 문장이 되어 가는 것 같다.)
  • 내가 혹은 남이 더 알아보기 쉽게 작성하려고 노력하게 되었다. 코드를 정리하고 예쁘게 짜려는 의식이 생긴 것 같다.

더 공부하고 싶은 것

  • 프로젝트 구조
  • 객체지향
  • 테스트코드 (테스트 코드까지 작성하시는 분들 너무 부러웠다ㅠㅠ)
  • 자바의 문법 (스트림, 람다, Objects)
  • 상속이나 인터페이스, 중복로직을 줄이는 방법 (비슷한 로직이 반복되는데 합치기엔 약간은 다르고,, 어떻게 중복로직을 줄일 수 있는지 알아가보고 싶다!)
  • 예외처리(를 잘하는 방법)

마무리하며

아직 부족한 점이 많겠지만 분명히 프리코스를 하기 전보다 많이 성장했다. 프로그래밍을 배우게 된지 얼마 안 된 시점에서 가지고가면 좋은 습관들을 많이 배웠다. 특히 미션3을 하면서 객체란 무엇인가에 대해 많이 생각해보게 되었다. 그래서 미션3는 어려웠지만 너무 좋았다. (거의 지하철 생각으로 잠들고 일어났다.) 가장 많이 성장했던 한 주라고 생각한다.

 

우테코를 알게 되면서 자바와 백엔드에 관심을 가지게 되었고, 지원할 때쯤부터 자바 공부를 시작했던 것 같다. 너무나 하고 싶은 코스지만 프로그래밍을 시작한지 얼마 되지 않았고, 잘 하는 사람들이 너무 많은 것 같아 할 수 있을까 하는 불안감이 많이 찾아왔던 것 같다. 하지만 우테코 지원부터 프리코스 과정을 겪으면서 계속 하다보면 나도 개발자가 될 수 있겠다라는 생각이 들었다. 좋은 결과가 있길 바라지만 과정을 겪으며 더 나아갈 수 있는 힘을 얻었기 때문에 과정 자체가 의미있었다. 이런 기회가 주어진 것 자체가 행운이라고 생각한다. 미션3의 피드백과 코딩테스트도 기대가 된다.😊

'회고' 카테고리의 다른 글

[월간회고] 2021.01 - CS  (2) 2021.01.31
우아한테크코스 2차 코딩테스트 후기  (4) 2021.01.01
2020 한 해를 돌아보며  (3) 2020.12.26
2020.09 공부기록  (0) 2020.12.23
2020.08 개발 공부 기록  (0) 2020.12.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함