State Machine Pattern으로 인지부하 줄이기
2024. 3. 15. 01:12
Software Development
최근에 제가 속한 팀에서는 유저 모으기를 위한 프로모션 이벤트를 준비했습니다. 해당 이벤트를 위한 프로모션은 준비 기간이 짧았지만, 개발 스펙이 작지 않아 모두 고생했던 기억이 있습니다. 처음에는 개발 스펙을 받았을 때는 무수히 많은 에지 케이스가 숨어있음을 알지 못했습니다. 유저가 이벤트에 참여하면 유저의 참여 정도에 따라 상태가 변화하는데, 각 상태마다 무수한 에지 케이스가 있어 이를 어떻게 효과적으로 컨트롤할 수 있을지 고민했습니다. 그 결과 개별 상태와 상태별로 가능한 동작을 효과적으로 제어하기 위해 state machine pattern을 활용하기로 결정했습니다. State machine pattern은 소프트웨어 설계 패턴으로, 상태를 관리하는 데 사용됩니다. 특히 상태의 수가 정해진 경우에 ..