Лучший способ назвать асинхронный метод - PullRequest
6 голосов
/ 03 августа 2011

Где API, скажем, одного метода: «DoSomething ()». Должно быть две версии метода: асинхронный и синхронный. Мы должны поощрять пользователей API использовать асинхронную, так что для синхронизации, вероятно, должно быть более сложное и явное имя. Итак, проблема в том, как назвать эту пару. На дату мы придумали:

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

Ни одна из вышеперечисленных схем не кажется нам оптимальной. Любое предложение люди?

Обновление. Кстати, не стесняйтесь опубликовать один из вышеперечисленных в качестве ответа, если он вам подходит.

Ответы [ 3 ]

6 голосов
/ 03 августа 2011

Если вы хотите, чтобы ваш пользователь использовал асинхронные с синхронизацией, то я бы выбрал следующее: DoSomethingSync() / DoSomething()

Однако, скажите своим пользователям громко и ясно , чтовсе методы являются асинхронными, если не указано иное.

Пример: node.js использует это обозначение: fschmodSync и fschmod

Но самое важное - , чтобы придерживатьсяс выбранным вами .

3 голосов
/ 03 августа 2011

Как насчет того, чтобы присвоить им одинаковые имена и использовать разные сигнатуры (одна с функцией обратного вызова, другая без)?

В противном случае Adobe использует суффикс "Async" для ActionScript, который кажется достаточно хорошимтоже: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/FileStream.html

1 голос
/ 03 августа 2011

В .NET Framework асинхронные методы начинаются с «Begin»: BeginDoSomething / DoSomething.

...