2013-08-16 23 views
4

因此,我目前正在一家公司实习,并且负责为分析引擎创建UI规则编辑器的中间层。作为这项工作的一部分,我确保所有创建的规则都是有效的规则。这些规则可能相当复杂,包括10个字段,每个字段有多种可能性。什么是最好的方法来进行规则验证

我一直在我的头上,我一直在试图找到一些材料来指导我完成这项任务,但我似乎找不到多少。我可以采取什么样的模式或设计方法将其分解为更易于管理的任务?一本书要阅读?任何想法或指导将不胜感激。

+1

有效性是如何定义的?有几种选择,例如1)规则可以被执行(在语法上是有效的),2)规则可以被执行并且执行返回有意义的结果(例如,具有一些属性的一些数据),3)规则符合预定义的规则模式。 1通过解析器解决,2应该很容易检查,3需要对允许的模式进行一些头脑风暴。 –

+0

你能提供一个你需要实施的规则吗? – MattClarke

回答

0

您可能会考虑花时间学习词法分析器/解析器,例如Anltr4。您可以使用Antlrwork2 ide来协助可视化和调试。

Antlrworks2:http://tunnelvisionlabs.com/products/demo/antlrworks

你可以通过搜索例如语法离开地面,然后调整他们为您的特定需求。

语法:https://github.com/antlr/grammars-v4

ANTLR提供了输出绑定在多种不同的语言 - 因此你将可能有一个适合您的需求。

在任何情况下,这都不是一项简单的任务 - 而是一个有趣且有意义的任务。

0

您需要为此构建算法。

点应遵循

1)的基础上数据类型支持和有兼容性验证为参数。 2.)哪个运算符后面跟随特定数据类型的操作数。 3.)某些表达式的返回结果应该再次与下一个操作数或运算符兼容。

给出一个模拟规则的功能,用户可以在其中选择需要触发规则的数据集。

a + b > c 

可能的组合。

1.)a,b可以是字符串,数字或整数。 2)但是,如果String和operator“>”的组合结果不能来。