우아한테크코스 3기 백엔드 Lv1 [로또 2단계 - 수동 구매] 학습로그

taehee-kim-dev·2021년 2월 21일
0
post-thumbnail

Github repository

Pull Request

인비의 학습로그


최초 PR


[JDK] Map API - 1

내용

  • 리뷰어 휴의 피드백을 받아, Map에서 get()으로 꺼내 값을 증가시킨 후 다시 put()으로 저장하도록 작성했던 코드를,
    computeIfPresent() Map API를 사용해 더욱 명시적이고 우아하게 바꿈.

링크


[OOP] 모든 원시값 포장 - 4

내용

  • 모든 원시값을 포장하니 하나의 도메인이 됨을 경험했다.
  • 생성자에서 자체적으로 유효성 검사를 하여 코드가 매우 깔끔해졌다.

링크


[TDD] 테스트 코드 네이밍 컨벤션 - 2

내용

  • 페어가 테스트 코드 함수 네이밍 컨벤션 적용을 제시하여, 이에 대해 찾아보고 적용했다.
  • 훨씬 더 의도를 파악하기 쉬워졌다.

링크



1차 코드리뷰


[Markdown] 체크박스 적용 - 1

내용

  • 리뷰어 휴가 README.md 파일의 기능구현 목록에 체크박스 적용을 제안해, 적용해보았다.

  • 구현이 완료된 것들과 아직 완료되지 않은 것들이 직관적으로 구별되어 구현 진행과 관리가 더욱 편해졌다.

링크


[Naming] 명확한 이름 - 4

내용

  • 모든 이름들을 영어 문법을 지키면서 최대한 구체적으로 자세하게 지으려다 보니, 지나치게 길어지고 중복되는 부분들이 생겨, 오히려 의미전달력이 떨어지는 현상이 발생했다.

  • 리뷰어 휴가 공유해 준 영어권에서 작성된 글을 참고하여 최대한 직관적으로 명확하게 알아볼 수 있도록 이름을 지으려고 노력했다.

  • 문법을 지킨 길고 자세한 이름들 보다, 더욱 직관적으로 알아보기 쉬워졌고, 코드가 깨끗해졌다.

링크


[OOP] Caching - 3

내용

  • 코치 제이슨이 로또번호 객체 캐싱을 제안하여, 이를 적용했다.

  • 반복되어 사용되는 객체(로또번호)들을 캐싱하여 재사용하였다.

  • new 연산자를 통해 계속 생성할 필요 없이, 캐싱되어있는 로또번호들을 가져다가 쓰니 메모리도 절약되고, 코드도 깔끔해졌다.

링크


[JDK] Custom Exception - 2

내용

  • 리뷰어 휴가 원시값에 대한 유효성 검사 시, 예외에 Custom Exception을 적용해볼 것을 제안해, 적용해보았다.

  • 예외가 더욱 명확해져, 다른 예외들과 직관적인 구분이 가능해졌다.

링크



2차 코드리뷰


[OOP] Caching - 3

내용

  • 리뷰어 휴의 제안으로 Integer.valueOf() API 를 참고하여 캐싱 방식을 개선했다.

  • LottoNumber.valueOf() 와 같이 API 사용 형식이 더욱 깔끔하고 명확해졌다. 의미 전달력도 매우 향상되었다.

링크


[JDK] BigDecimal API - 3

내용

  • 수익률 소수점 계산에서 BigDecimal API 사용이 필요했다.

  • 사용법을 제대로 숙지하지 않은 채 사용해, 소수점 셋 째 자리에서 반올림이 되지 않는 버그가 발생했다.

  • BigDecimal API 문서 와 구글링을 참고하고, 학습 테스트 를 통해 정확한 API 사용법을 익혀 버그를 고쳤다.

  • 맨 처음 구현할 때, 구글링을 통해 찾은 잘못된 자료 를 참고해서 코드를 작성했다. 사용법이 애매할 때는 학습 테스트 로 제대로 익힌 뒤에 사용해야 겠다.

링크


profile
Web Back-End (Spring, JPA, AWS)

관심 있을 만한 포스트

0개의 댓글