首页 > 解决方案 > 交易规则重新排序——这是个好主意吗?

问题描述

如果您有一个具有复杂规则的事务,则很难在规则部分中对它们进行逻辑“管理”,因为它们执行的顺序很可能不是它们在规则中出现的顺序。您可以打开详细导航并查看评估树,但我认为这方面可能会有所改进。

如果有一个模型偏好或对象偏好,您可以设置它,在规范之后,重新排序代码中的规则以匹配评估树?可能会有一些关于事情何时发生的明确评论,我会很好地看到这些“时间评论”,其中没有任何内容,所以我知道规则什么时候会触发,什么时候不会触发。

我们为我们的知识库使用模式,并且规则、事件等的操作已经发生,所以在这种情况下,这些不会被改变。但是手动添加的规则(在模式规则之外)可以重新排序。

此外,如果插入了“时间注释”,这可能有助于开发人员公开可用的时间段,而不必重复参考 wiki。

这是一个好主意吗?

标签: genexus

解决方案


我不这么认为。这几乎有两个原因,第一个是技术性的:当规则匹配触发标准时,GeneXus 会“按顺序”执行规则(它们是如何放置在规则中的)。因此,重新排序规则可能会在您的应用程序中产生意外行为。你可能会争辩说 GeneXus 会让那些规则放在那里,但是,它仍然很危险。

第二个与我们的“编程方式”有关。我在代码中放了很多注释,我喜欢注释,甚至在规则中。如果 GeneXus 重新排序规则,它如何知道哪些评论属于哪个规则。至少对我来说,我不喜欢“工具”重新组织/重新排序我的代码。我敢打赌,我不是唯一一个。


推荐阅读