命名事件:描述刚刚发生的事情或描述将要发生的事情?为什么?

时间:2009-09-15 18:23:18

标签: events naming-conventions

注意:我不是在讨论事件处理程序的名称。我在谈论事件本身的名称。

我倾向于命名事件,以便他们描述在事件发生之前发生的事情。形容词倾向于支配这种惯例(点击,保存,改变,加载等)。

一些有能力的同行最近向我展示了命名事件的想法,以描述将要发生的事情(响应事件)。动词往往在这里占主导地位(SAVE_DATA,GET_MEMBER,LOAD_RESULTS,SHOW_REPORT - 再次,这些是事件的名称,而不是处理程序或从它们调用的方法)。

当你负责事件和处理程序时,我已经确定后者运行得很好,特别是当你只有一个响应时,你会想要那个事件。相反,如果你没有对它的可见性或控制权,你就不能很好地命名事件以匹配将遵循的动词(处理程序)。

您如何命名事件,为什么?一个公约是否足够(在给定的商店,至少),或者根据代码/项目的规模和范围更改是否更明智?

4 个答案:

答案 0 :(得分:4)

事件发生之前的

“保存”,事件发生后“保存”。

答案 1 :(得分:2)

框架设计指南建议采用以下方案:

答案 2 :(得分:1)

我认为这里的互动有两件事:

  1. 事件 - 发生的事情
  2. 行动 - 你打算做什么
  3. 根据您的反应命名事件是一个不好的想法。根据发生的事件命名事件。否则会让人感到困惑。如果将来反应发生变化并且事件名称保持不变,则会使开发人员感到困惑。

    示例:

    1. 事件:点击(ed)
    2. 操作:LoadProducts
    3. 如果您要将事件命名为“ToLoadProducts”,则将您的操作更改为“DisplayFilterForm”并忘记更新事件,它将如下所示:

      1. 事件:ToLoadProducts
      2. 操作:DisplayFilterForm
      3. 很明显它看起来很奇怪而且不整洁,好像有人把工作放在中间。

答案 3 :(得分:1)

我以你描述的第一种方式命名我的事件。这是因为我希望我的处理程序决定如何处理该事件。

相关问题