레벨 1 - 2, 3주차 회고록

kdkdhoho·2023년 2월 27일
0
post-custom-banner

2, 3주차 후기

배우고 느낀 것이 너무 많다.

맥 단축키
이론적 지식이 굉장히 부족하다
설계의 중요성
TDD
TDD 커밋 단위
좋은 코드란 + final 키워드의 중요성
MVC의 본질에 대해
원시값 포장
전략 패턴
좋은 회고와 하는 법
...

아마 더 있을 수도 있지만 당장 생각나는 것들은 이러하다.
더 있다고 해도 당장 생각나지 않는 것으로 미루어보아 우선순위가 높은 편은 아닌 것 같다.

당장 위에 있는 것들만 해도 체화시키기 위해서는 굉장한 시간과 노력이 들어가야하니, 새로 배운 것들 중 이야기하고 싶은 것들을 몇 가지 이야기하고, 프리코스 때처럼 앞으로 의식적인 연습을 하기 위해 신경써야 할 것들을 체크리스트로 만들어 볼 것이다.

이론적 지식이 부족하다

사다리 미션을 진행하며 만난 페어는, 아는 것이 굉장히 많다.
어렴풋이 이야기를 들었을 때 책과 강의도 엄청나게 많이 듣고 보았을 것이다.
그에 비해, 나는 이론적 지식이 굉장히 얕다는 것을 느꼈다.

그리고 곧 있을 테코톡을 준비하면서, 같은 날 발표하는 크루의 발표를 들었을 때 사실 무슨 소리인지 잘 이해되지 않았다. 상속과 조합에 대한 내용인데, 상속만 들어봤지 조합이 뭔지 처음 들어봤다.
자바에 대해 알고 있는 것이 꽤 된다고 생각했지만 모르는 것과 알아야 할 것들이 아직 많이 있다는 것을 느꼈다.

레벨 1이 자바를 이해하고 익숙해지는 단계이다. 그래서 레벨 1 목표로 자바를 마스터하는 것으로 잡았다.
이펙티브 자바모던 인 자바 액션 책을 읽어야지 말로만 하지 말고, 진짜 하루에 하나씩이라도 읽도록 해야겠다.

설계의 중요성

이번 페어 프로그래밍에는 이전 미션과 다르게 요구사항 분석에 시간을 더 투자했다.
그리고 TDD로 구현해야하다보니 자연스레 In-Out 방식으로 구현하게 되었다.
당장에는 구현하는 것에 시간이 더 오래 걸리고 비용이 더 투자되었다.
하지만, 리팩터링 단계에서 자동차 미션과 다르게 구조의 변경이나 로직의 변경이 수월하게 이루어졌다.
확실히 구조 설계를 잡고나서 구현을 진행하니, 프로그램 자체가 단단한 느낌을 받았다.

전략 패턴

사다리 미션을 하면서 테스트를 위해 전략 패턴을 사용했다.
그리고 페어가 테코톡에서 전략 패턴에 대해 발표했다.

이 전까지는 전략 패턴이란 것이 있지, 어떻게 구현되며 어떤 구조의 디자인 패턴인지 몰랐다.
페어 덕분에 전략 패턴에 대해 눈을 뜨게 되었다고 생각한다.

마무리

급하게 마무리짓는 느낌이 들지만, 사실 급하게 마무리 짓는 거 맞다.
공부해야 할 것들이 엄청나게 밀려있고 이전에 느낀 기술적 회고를 하기엔 시간이 많이 들 것 같아 이정도에서 마치려고 한다.

하지만 체크리스트만큼은 신경써서 하려고 한다.

앞으로 있을 미션을 위한 체크리스트

  • 미션을 진행하기 전에, 설계에 충분한 생각과 시간을 사용했는가?
  • 1일 1이론 공부를 실천하는가?
  • 좋은 코드를 작성하기 위해 노력하는가?
    • 코드로 의도가 전달되는가?
    • 하나의 역할만을 담당하는가?
    • API를 적절히 사용했는가?
    • 예측 가능한 코드를 작성했는가?
    • 변경 가능성을 최소화했는가?
  • Domain과 View의 관심사 분리가 잘 이루어졌는가?
  • 도메인 간의 협력이 이루어지는가?
  • 예외가 일어날 수 있는 상황을 충분히 고려했는가?
profile
newBlog == https://kdkdhoho.github.io
post-custom-banner

0개의 댓글