Какова обычно лучшая практика - разбивать действительно длинное совпадение на перечисление с десятками вариантов для обработки, каждый с десятками или сотнями строк кода?
Я начал создавать вспомогательные функции для каждый случай и просто вызвать эти функции, передавая в полях перечисления (или как они там называются). Но, кажется, немного избыточно иметь MyEnum::MyCase{a,b,c} => handle_mycase(a,b,c)
много раз.
И если это лучшая практика, можно ли деструктурировать MyEnum::MyCase
непосредственно в параметрах этой вспомогательной функции, несмотря на то, что технически это опровержимо , так как реально я уже знаю, что я звоню с правильным случаем?