Большая часть кода (и большинство ошибок) вызвана обработкой исключений, такой как:
если установлен флажок, то поля ввода 1, 5, 8 и 9 обязательны для заполнения.
в противном случае, если введено b, поля ввода 3, 4, 8 обязательны для заполнения.
в противном случае, если проверяется a и b, то поля 1, 3 и 8 обязательны для заполнения
(выше приведен пример ошибочного кода, так как код с последним условием никогда не выполняется, так как выполняется первое, если проверено a, а затем обходится третье условие ... просто пример потенциальных ошибок)
Лучше ли иметь операторы if / switch, подобные приведенным выше, в коде ИЛИ, чтобы создать таблицу исключений, в которой вы будете передавать условия (выберите *, где отмечен a), а возвращаемые значения указывают, какие поля являются обязательными (это простой пример) ...
Плюсы: проще модифицировать логику в производстве (обновить базу данных), упрощение кода
Минусы: столы и доц. Логика возврата правил может привести к путанице, снижение производительности при переходе в базу данных для обработки правил ...
мысли? Кто-нибудь имеет опыт работы с базой данных?