使用带有“异步”的旧异步模式结束方法名称是不好的做法吗?

时间:2014-04-25 08:39:16

标签: c# .net asynchronous

在最近的async/await pattern中,建议使用" Async"结束方法名称,例如" GetAsync()"。

现在让我们说我使用old asynchronous pattern,即使用Begin / End方法对和IAsyncResult的{​​{3}}。我有一个方法来包装对该方法的调用,例如:

public void SendAsync(byte[] data)
{
    this.stream.BeginWrite(...);
}

还假设传递给EndWrite的{​​{1}}方法对于所有数据都是相同的,即它将是同一类中的方法。

在这种情况下,将此方法命名为BeginWrite是错误的,因为它可能与新的异步模式混淆了吗?

2 个答案:

答案 0 :(得分:6)

随着新框架/模式/技术的发现/创建/实施,出现了新的规则或建议。

命名约定只是创建标准的一种方式,以便在开发人员之间使代码更加统一;这并不意味着你不能使用你最喜欢的那个或者对你更有用(除非你是一个执行约定的公司)。

从我的POV中,我不会在现在的遗留代码中采用新约定。

另外,我总是喜欢使用类似于我正在使用的框架的命名约定,这样对于任何其他与我合作的开发人员来说都会更容易。

检查一下(有点旧但仍然相当不错): http://msdn.microsoft.com/en-us/library/xzf533w0(v=vs.71).aspx

答案 1 :(得分:0)

我会遵循APM(异步模式模块)并使用BeginXXX和EndXXX命名我的方法。

此外,确保您的方法通过返回IAsyncResult来正确实现模式,而不是在从此方法返回时为void。

APM:http://msdn.microsoft.com/en-us/library/ms228963(v=vs.110).aspx