인프런 워밍업 클럽 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문을 통해 반복하는 것이 아닌 일회성 로직이라 변경하는 것이 아닌 것 같아보였다.
댓글을 작성해보세요.