인프런 워밍업 클럽 2주차 발자국

2주차 강의 정리

  • 너무 상세한 주석은 오히려 도움이 안될 수 있다

  • 의사결정 히스토리를 기록하는 주석을 작성

  • 변수와 메소드의 나열 순서

  • 패키지 변경은 팀원과 커뮤니케이션 필요

  • Linting - Sonarlint(Spring), cmd + option + L

  • git reset --hard를 적극 사용하자 -> 코드를 수동적으로 보기만 하는 것에서 벗어나야함

  • 오버 엔지니어링 -> 리팩토링은 기능은 그대로, 구조 변경을 고려

  • 은탄환은 없다 -> 적정 기술


2주차 강의 회고

좋았던 점

  • IDE 사용을 더 잘 알게 되었다.

  • 새로운 과제 프로젝트에 리팩토링을 실제로 해볼 수 있었다.

아쉬웠던 점

  • 생각을 코드로 옮기는 부분이 부족했다.

  • 과제 제출을 못했다.

배운 점

  • 헷갈렸던 git 커밋 단위를 알게 되었다.

  • 패키지 단위와 메소드의 나열 순서에 대해 알게 되었다.

앞으로 바라는 점

  • 헥사고날 아키텍처에 대해 공부해보는 것.


미션

Day7

  • 고민했던 점

    • { HOURLY, WEEKLY, FIXED } Enum을 인터페이스 하위에 구현체로 변경해야한다고 생각하였다.

    • 고정석만 Locker를 사용할 수 있다는 개념을 어떻게 도메인 개념으로 표현할 것인지 쉽지않았다.

      • 사물함을 사용할 수 있는 PassType인지를 확인하도록 표현하는 것이 좋았다.

      • 이때 확인 로직은 PassType Enum 안에서 수행

    • 좌석과 사물함의 관계를 어떻게 볼 것인가?

      • 좌석도 상품, 사물함도 상품이므로 분리되는 도메인으로 생각하였다. -> 중복되는 부분이 많아서 하나의 인터페이스로 추상화하는 것이 좋았다.

    • InputHandler에서 CafePass를 생성하는 것이 맞는 것인지 고민되었다.

      • DTO를 써서 Service에서 initialize를 해야할까 고민하였다.

    • File에서 불러오는 데이터를 처음 실행 시에 메모리에 적재를 하고 비즈니스 로직을 실행해야할까 고민하였다.

      • 비즈니스 로직에서 while문을 통해 반복하는 것이 아닌 일회성 로직이라 변경하는 것이 아닌 것 같아보였다.

댓글을 작성해보세요.

채널톡 아이콘