190325-190407 주간 회고

2주간 나에게 있어 가장 의미가 컸던 일은 일부지만 프로덕션에 테스트코드를 작성해 기존 코드들에 대한 테스트를 진행한 것 과 클린코드를 읽은 일 이었다.
그간 TDD라던가 테스트 코드 작성에 대해 내가 아는 것 이라곤 assertThat이 전부였다.
이 세상엔 TDD라는게 있고 핫하고 그걸 해야하고 그 정도로만 막연하게 느끼고 있었는데, 테스트코드를 작성 할 기회가 생겨 이것저것 찾아보며 작성 할 수 있었다.
막연하게 알던 Mock 이라던가, 단위테스트라던가 통합테스트에 대해서 알 수 있었고 이젠 능숙하진 않지만 테스트코드를 작성 할 수 있게 되었다.
특히 MVC 통합테스트를 하고 있을때 Post로 파라미터가 넘어가지 않는 이슈가 있었는데 개발하자 라는 슬랙 방 에서 도움 을 받아 며칠동안 고민하던 단번에 해결할 수 있었다!

클린코드를 드디어 읽었다.
클린코드는 언젠간 꼭 읽어봐야지 라고 생각했었던 개발 관련 도서 중 하나였다.
어떻게 함수를 작성하면 좋은지 네이밍은 어떻게 주석은 어떻게 해야되는지, 어떻게 작성하는게 독자(내 코드를 읽는 다른 개발자)에게 좋은 코드인지, 어떻게 얽혀져 있는 스파게티같은 소스를 분리해야 되는지에 대한 내용이 담겨 있다.
이 책의 내용이 너무 충격적이다! 이건 새로알게된 엄청난 것 이다! 라는 부분은 별로 없다. 한번 쯤 정리가 있었으면 좋겠다고 생각했던 규칙같은 것을 정리해 둔 책 이다.
아직 다 읽진 못했지만 이걸 읽고 내가 그간 작성해온 코드들이 얼마나 잘못 됐었는지, 어떤 실수를 하고 있었는지 알 수 있었다.
이 책은 내 코딩 습관들을 정말 많이 바꿔 놓을 것 같다.

2주간 했던 것

  • Gitlab CI
  • Beanstalk 배포(jenkins 연동)
  • sentry 프로덕션에 적용
  • springboot version migraion(1.5 > 2.x)
  • springboot 테스트코드 작성(JUnit, Spock)
  • 클린코드 읽기(진행중)

다음주 목표

총평

더 나은 코드 및 품질에 대해 고민하고 개선했던 주 였던 것 같다.
GitLab의 GitLab CI yml 파일을 작성해 자동 배포를 구현했고, Jenkins을 이용해 Beanstalk으로도 빌드 후 자동 배포를 구현할 수 있었고, springboot 프로덕션의 메이져 버전 업을 할 수 있었다.
테스트 코드 작성과 클린코드를 읽은 건 내게 큰 의미가 있었다!
아직 클린코드를 다 읽지 못했지만 뒷 내용도 기대가 된다.