命名约定

虽然这听起来可能是一个小细节,但清晰的命名方法对于提供一个熟悉事件驱动编程的开发人员可以快速上手的 API 非常重要。

由于方法调用的概念与接收到的事件的概念非常吻合,所以所有事件处理程序都只是以过去时动词命名的函数。所有类名都是描述性的名词,旨在反映它们实现的抽象的“is-a”关系。所有通知或传输请求都是现在时祈使动词。

以下是一些此命名方案的示例

  • 从对等方接收数据的事件通知:dataReceived(data)

  • 发送数据的请求:write(data)

  • 实现协议的类:Protocol

命名是平台中立的。这意味着这些名称在各种环境中同样适用,只要它们可以发布所需的事件。

它是一致的。处理 TCP 的东西使用缩写 TCP,并且始终大写。断开、丢失、终止和关闭连接都被称为“丢失”连接。这种对称的命名允许开发人员在了解了与他们想要做的事情相关的几个 API 调用后轻松找到其他 API 调用。

它在语义上是清晰的。dataReceived 的语义很简单:有一些字节可供处理。即使获取数据的底层机制非常复杂,这一点仍然成立。