2011-08-03 36 views
6

API的一个方法是:“DoSomething()”。应该有两个版本的方法:异步和同步。我们应该鼓励API用户使用异步程序,因此同步程序可能应该得到更复杂和明确的名称。 所以问题是:我们应该如何命名这对。在日期我们已经想出了:名称异步方法的最佳方法

  • DoSomethingAndWaitForResult()/ DoSomething的()
  • DoSomething的()/ DoSomethingAsync()
  • DoSomethingSync()/ DoSomething的()
  • DoSomething的()/ RequestSomething()

以上所有方案都不适合我们。任何建议人?

更新。顺便说一句,如果它适合你,请不要犹豫,将上述内容之一作为答案。

回答

3

如何命名它们并具有不同的签名来区分它们(一个具有回调函数,一个没有)?

否则,Adobe使用了ActionScript中的 “异步” 后缀,这似乎不够好,太:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/FileStream.html

+1

不错,但它们只有返回类型不同(任务与TResult),它不影响我的语言的方法签名。 –

+0

在PHP中不是一个好主意:/ –

+0

在这种情况下,我只需要使用ASync命名约定。优点是当你使用自动完成时,你立即看到有两种方法可用。 –

1

在.NET框架中,异步方法开始 “开始”:BeginDoSomething/DoSomething的。

+3

我相信以'Begin'开始的方法应该有'End'对应,而我们的异步方法应该返回任务客户端代码可以等待。 –

6

如果你想鼓励你的用户在同步使用异步的,然后我会去为这一个:DoSomethingSync()/DoSomething()

不过,告诉你的用户嘹亮,所有的方法都是异步如果不告诉除此以外。

例子:node.js的使用这个符号:fschmodSyncfschmod

但最重要的是坚持使用你选择的一个。