Недавно я имел удовольствие наблюдать код, который по сути представляет собой километры очень глубоких операторов if-else. Кодекс постоянно обновляется, и отслеживание возможных результатов и их взаимодействия становится все сложнее. Такое чувство, что можно добиться большего успеха.
У меня была идея, возможно, разделить if-дерево на один файл, а результаты - на другой. Возможно, можно даже построить матрицу, где каждая строка будет результатом, а каждый возможный вопрос будет столбцом. Затем можно выполнить некоторые базовые логические операции над такой матрицей, чтобы автоматически определить, не мешает ли добавленная ветвь уже существующим.
Я знаю, что эта идея очень расплывчатая, но я уверен, что кто-то должен был подуматьоб оптимизации деревьев if-else с точки зрения человеческого дизайна и времени редактирования.
Существуют ли какие-либо отраслевые стандарты для эффективной работы с глубокими деревьями if-else? Если да, я был бы признателен за имена и ссылки
В данном конкретном случае я говорю о C #, но мне также интересно, как эта проблема решается в целом