我使用JRules来编写业务规则。我想在规则中添加注释,如下面的简单示例所示。我知道有一个规则的文档部分,但这不是我要求的
// comments needed here
definitions
set 'an existing customer' to a customer
where the category of 'an existing customer' is "gold"
if
the city of 'an existing customer' is "London"
then
give a 5% discount to 'an existing customer'
else
// and more comments needed here
give a 10% discount to 'an existing customer'
显然,使用通常的c ++和c#double forwardslash //在上面的示例中不起作用,所以我的问题是如何在BAL中添加注释。
答案 0 :(得分:7)
很遗憾,您无法在规则中添加评论。如果语言表达良好,则规则应该是自我解释的。
但是,如果您想记录每个规则的业务理由,您可以使用文档功能。
答案 1 :(得分:3)
有一个简单的解决方法:
您可以在BOM中创建2个静态虚拟方法:一个评论条件,一个评论操作。
在条件的情况下:
在前面的例子中:
if
the city of 'an existing customer' is "London" and
// "blablabla" and
the age of 'an existing customer' is greater than 18
then ...
由于该方法返回true,因此不会影响测试。它必须被“和”包围,而不是“或”。
如果是行动:
在前面的例子中:
else
// "and more comments needed here" ;
give a 10% discount to 'an existing customer' ;
答案 2 :(得分:1)
你可以做到,但这意味着很多自定义。所以忘了它
只有通过浏览器界面才能实现,而不是Eclipse
只因为你会作弊。
怎么做:
准备好了...... ......稳定吗?...
您需要重新创建自己的RTS(teamserver)Web界面!如果听起来太费劲,那就停止阅读:)
使用API,您可以从RTS(数据库)中检索规则(如Tito的答案中所述)附加到任何规则的文档。
因此,您可以处理规则的显示并相应地添加注释
当然,您需要找到一种方法在规则中正确定位评论。行号可以解决问题
这是为了显示...
十,当您保存规则时(通过单击一个可编码的可爱按钮进行实际保存),您需要删除注释(并在下次要显示规则时知道它们的位置)并保存两者规则正文和随附的文件。
听起来很疯狂?一个客户完成了它,我正在研究这个:)但我们没有修改规则体。几乎所有东西,除了规则体。
这会花费你几个月的时间,与我工作的人数无关,我很害怕
总结一下:你能做到吗,是的!
实施是否值得付出努力?没有办法!!!
这个功能是否可以在下一个版本中使用?没有!正如铁托提到的那样,规则应该是自我解释的
对不起:(