所以我目前在一家公司实习,负责为分析引擎创建 UI 规则编辑器的中间层。作为此任务的一部分,我确保创建的所有规则都是有效规则。这些规则可能非常复杂,由大约 10 个字段组成,每个字段都有多种可能性。
我在这里不知所措,我一直在努力寻找一些材料来指导我完成这项任务,但我似乎找不到太多。我可以采取任何模式或设计方法将其分解为更易于管理的任务吗?要读的书吗?任何想法或指导将不胜感激。
所以我目前在一家公司实习,负责为分析引擎创建 UI 规则编辑器的中间层。作为此任务的一部分,我确保创建的所有规则都是有效规则。这些规则可能非常复杂,由大约 10 个字段组成,每个字段都有多种可能性。
我在这里不知所措,我一直在努力寻找一些材料来指导我完成这项任务,但我似乎找不到太多。我可以采取任何模式或设计方法将其分解为更易于管理的任务吗?要读的书吗?任何想法或指导将不胜感激。
您可以考虑花时间学习词法分析器/解析器,例如 Anltr4。您可以使用 Antlrwork2 ide 来辅助可视化和调试。
Antlrworks2: http ://tunnelvisionlabs.com/products/demo/antlrworks
您可以通过搜索示例语法来起步,然后根据您的特定需求对其进行调整。
语法: https ://github.com/antlr/grammars-v4
Antlr 提供多种不同语言的输出绑定——因此您可能会拥有一种适合您需要的语言。
在任何情况下,这都不是一项微不足道的任务——而是一项有趣且有益的任务。
您需要为此构建算法。
应遵守的要点
1.) 根据数据类型支持和兼容性验证参数。2.) 哪个运算符后跟特定数据类型的操作数。3.) 某个表达式的返回结果应该再次与下一个操作数或运算符兼容。
提供模拟规则的功能,用户可以在其中选择必须触发规则的数据集。
例如
a + b > c
可能的组合。
1.) A、b 可以是字符串、数字或整数。2.) 但是a+b if String then operator ">" 的组合结果不能来。