26 июня 2009 · Комментарий

Re: Организационные нормы

"Семантика корня", "детерминант" и пр. - это язык специалистов. Для настройки правил пользователям его знать необязательно,- справляются. Тут практика критерий. Табличное (точнее регистровое) представление правил позволяет справиться с энтропией при большом количестве переменных (то, что Вы называете "верификацией"). Табличные правила система способна верифицировать сама, и остаться работоспособной при любых (часто противоречивых) пожеланиях пользователя. Пример со скидкой довольно прост,- на практике входной контекст часто состоит из десятка переменных, каждая из которых может принимать множество значений. Никакой специалист не справится с верификацией множества правил при таком контексте, если они выражены в форме импликаций. Даже в простых примерах непросто увидеть противоречивость правил. Например, что можно сказать по поводу следующей импликации? If Sum>100 Then Discount=10 ElseIf Category=Gold Then Discount=15 EndIf Я так понимаю, что данное правило понятно пользователю. Но увидит ли он сразу заложенную противоречивость правила? Какая должна быть скидка, если Category=Gold, а Sum=150? Как разбираться с такими "Если-То", когда размер скидки зависит, например, еще от сезона, региона, дня недели, категории товара, магазина, действующей акции и т.п.? Когда категорий клиентов не две, а с десяток? Поэтому еще раз. Для небольших примеров, тестовых демонстраций и пр. можно использовать привычные "Если-То". Для реальных больших систем - только регистры (табличные функции).

К записи · К обсуждению