2011-08-03 39 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

但最重要的是堅持使用你選擇的一個。