我一直在阅读几个活动采购文章和例子。我似乎有些是动词,而其他人则称为名词,两者都可能在最后添加了事件。哪个更正确?一个例子是。 OrderShippedEvent(有时只是OrderShipped)与ShipOrderEvent。对这些类型的对象进行操作的方法的时态也没有多大帮助。以下是我发现的一些例子。
process(OrderShippedEvent);
或
apply(ShipOrderEvent);
在其他情况下会有像
这样的处理程序HandleOrderShipped(OrderShippedEvent)
或
HandleShipOrder(ShipOrderEvent)
我认为应该有一种标准方法来命名和处理任何上下文中的任何类型的事件,尽管我对事件采购场景最感兴趣。
答案 0 :(得分:6)
嗯,他们的意思不同:
他们对.NET中System.Windows.Forms.Form类的FormClosing / FormClosed事件很满意。因此,我建议您不要建议使用什么名称,而是建议您考虑您希望通过事件代表什么,并相应地命名。
答案 1 :(得分:4)
事件通常定义已发生或已被触发并在被触发后发送消息。除了可以保留中间过去时动词的选项之外,我勇敢地站着。当然,某些语言具有命名约定的特定最佳实践 - 一些具有onEventName,一些使用现在发生的操作(Button.Click)。至于在名称上附加事件词,好吧,我不习惯它 - 但据我所知,存在命名约定以摆脱魔法变量(通过查看它们,你无法掌握它的数据是什么或它为什么存在),所以同样适用于方法和事件 - 比如名为DoSomething()的方法和名为Thing的事件。人们可以理解它们,但这需要一个更冒险的灵魂去解析代码,以便将超级好名称的变量/方法/函数正确放置在一些人类可理解的流程中。