【发布时间】:2017-12-21 14:15:05
【问题描述】:
我正在开发一个 API,我正在寻找一个好的、易于理解的命名约定。
考虑相同功能的这些不同类型的重载:
public async Task<TResult> DoAsync<T,TResult>(Func<T,TResult> func)
{
var t = await ProcessAsync();
return func(t);
}
public async Task<TResult> DoAsyncAlsoAwaitDelegateAsync<T,TResult>(Func<T,Task<TResult>> funcAsync);
{
var t = await ProcessAsync();
return await funcAsync(t);
}
请注意,我不能重载 DoAsync<T,TResult>(Func<T,Task<TResult>> func),因为这会导致调用不明确。
用户可以通过在调用时指定参数名称来解决模糊调用,但如果可能的话我宁愿不要造成不必要的混乱。
DoAlsoAwaitDelegateAsync 是一个非常笨拙的名字,所以我在这里寻找替代的命名约定。
【问题讨论】:
-
我认为你最好在代码审查 SE 网站上问这个问题
-
@Adelin 我认为 OP 正在寻找一种命名约定,这应该在其他地方找到。这太短了,无法审查。
-
@Adelin 好点。我试图标记这个问题,以便可以移动它,但 codereview 站点不在替代站点选项中。
-
当前范围内的问题将是 off-topic 用于代码审查@DavidS。
标签: c# asynchronous async-await naming-conventions naming