2011-08-03 4 views
6

"DoSomething()"메서드의 API는 어디에 있습니까? 비동기 및 동기의 두 가지 버전이 있어야합니다. API 사용자가 비동기식 API를 사용하도록 권장해야합니다. 그러면 더 복잡하고 명시적인 이름을 가져야합니다. 문제는이 쌍의 이름을 어떻게 지정해야하는지입니다. 날짜까지 우리가 해낸했습니다비동기 메서드 이름을 지정하는 가장 좋은 방법

  • DoSomethingAndWaitForResult()/해봐요()
  • 해봐요()/DoSomethingAsync()
  • DoSomethingSync()/해봐요()
  • 해봐요()/RequestSomething()

위의 구성표 중 어느 것도 우리에게 최적이 아닙니다. 어떤 제안 이니?

업데이트. BTW는 위의 답변 중 하나를 맞춰 주시면 망설이지 않습니다.

답변

3

어떻게 이름을 동일하게 지정하고 다른 서명을 사용하여 차별화 할 수 있습니까 (하나는 콜백 기능이 있고 하나는 제외).

그렇지 않으면, 어도비는 충분한 너무 보인다 액션에 대해 "비동기"접미사 사용 BeginDoSomething/해봐요 : .NET Framework의 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/FileStream.html

+1

좋은 점이 있지만 반환 유형 (작업 대 TResult) 만 다르며 내 언어의 메서드 서명에 영향을주지 않습니다. –

+0

PHP에서는 좋지 않습니다./ –

+0

이 경우에는 ASync 명명 규칙을 사용합니다. 장점은 자동 완성을 사용하면 즉시 두 가지 방법이 있음을 알 수 있습니다. –

1

를, 비동기 방법은 "시작하기"로 시작합니다. 당신이 동기화를 통해 비동기 것을 사용하는 사용자를 장려하려면

+3

"Begin"으로 시작하는 메소드는 'End'를 가져야한다고 생각하지만, 비동기 메소드는 클라이언트 코드가 대기 할 수있는 Task를 반환해야합니다. –

6

, 나는이 일을 위해 갈 것 : DoSomethingSync()/DoSomething()

을하지만, 사용자에게 크고 분명하게 이야기하지 않을 경우 모든 방법은 비동기입니다 그렇지 않으면.

예 : Node.js를이 표기법을 사용 fschmodSync

fschmod 그러나 가장 중요한 것은 당신이 선택한 하나 붙어 입니다.

관련 문제