현재 프로젝트 상황
- lobby.service에서
store
라는 객체를 통해 로비의 생성, 삭제 등을 관리함
store
는 users
라는 User 타입 배열을 가지고 있음
같이 얘기해볼 사항
@JIHYUN KIM Game 객체는 필요한가?
필요한 이유 :
- lobby → game으로 이어지는 확실한 로직 분리
- 하나의 로비에서 여러 게임을 하였을 때, 각 게임의 정보를 원활하게 관리 가능
- 각 게임에서 필요한 속성들이 존재
우려되는 부분 :
- lobby에 있는 사람들이 그대로 game으로 이어짐 따라서 추가되는 속성이 많지 않다면 오버엔지니어링일 수도
- lobby의 user가 game이 되면서 player가 될 필요가 있는지?
- player는 기존 user에 비해 어떤 것들이 바뀌는지?
@이동재
- 오버엔지니어링이 될거같으면 그냥 분리하지말고 기존코드에 작업하기 → 나중에 스파게티 되면 리팩토링하기.
- 꼭 ~해야할까? → 아니요. 정답은 없다.
- 나라면 머리속에서 새로운 구조를 생각을 하면서 코드 구현을 통해 생각했던 대로 작동을 하는게 어렵다고 판단되면 → 일단 구현해놓고 → 조금씩 코드를 리팩토링하면서 추상적으로 생각했던 구조로 코드를 옮긴다.
- 지금은 어떤 속성이 더 추가되고, 어떤것들이 바뀌는지 와닿지 않은 상태 → 이 상태로 구체화를 하는 과정에 시간을 쏟는것보다, 직접 돌아가게만 코드를 구현을 해놓으면 어떤 속성이 더 추가되고, 어떤것들이 바뀌는지 눈에 보이는 상태가 된다. → 이걸보고 판단하면 되지않을까? → 이대로 가도 적당할것같다. 아니다, 이거는 분리하는게 더 좋아보인다.
@JIHYUN KIM Round 객체는 필요한가?
필요한 이유 :
- 각 라운드에서 만들어진 그림들, 시작, 종료 시간을 저장하기 위해
- lobby/game 객체에 계속 round 속성이 추가되는 방식이라면 lobby/game 객체는 엄청 거대해짐