Максим Воротынский
Про то, что у него много случаев (case-identifiers).
Я делаю компилятор, решил разные узлы в AST описать с помощью DU (if, loop, assignment...). Получилось около 20. Если в функции для каждого элемента больше 1 строки, то получается нечитаемо. Как с таким бороться?
никак. Ты описываешь типом какую-то модель. Если в самой модели 20 вариантов или/или, то тут ничего не поделаешь.
Другое дело, если у тебя в каждом кейсе есть один и тот же элемент, то его можно вынести на уровень выше, а сам юнион завернуть в рекорд.