Skip to content

Refactor CoreEvent & Command enums into bunch of structs & traits #253

Description

@ozkriff

У меня есть важный тип - CoreEvent. он перечисление всех возможных событий.

Он много где обрабатываются и везде его обработка выглядит как огромная функция с огромным match хотя бы строк на 150:

и еще в паре мест.

Вроде бы это мне пока особо и не мешает, но как-то раздражает.
(и кроме CoreEvent еще есть похожий Command с теми же проблемами).

Вот я думаю, может мне варианты этого перечисления вынести в честные структуры, сделать для каждого такого match свой типаж и реализовать его для каждого события/команды?

Сейчас есть, например,

InternalState::apply_event(&mut self, event: CoreEvent)

а будет какой-нибудь

impl InternalStateEvent from CoreEventMove {
    fn apply(&self, state: &mut InternalState() {....}
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions