【问题标题】:naming convention, C# Async method [duplicate]命名约定,C# 异步方法 [重复]
【发布时间】:2023-03-11 08:07:01
【问题描述】:

应该在异步执行的方法名称中添加一个 Async 前缀。与 MS EF Core 一样,所有运行 async 的方法都具有 async 前缀。但它们也有同步方法,没有同步前缀。

对于某些方法也设计为并行运行的建议。

寻求建议。

【问题讨论】:

标签: c# coding-style naming-conventions


【解决方案1】:

我假设您的意思是“后缀”,而不是“前缀”。

Microsoft 使用“Async”后缀是因为它们(通常)添加了已经存在很长时间的方法的异步版本。所以没有太多选择,只能将它们命名为与同步版本不同的名称,因此添加“Async”是有意义的。

如果您自己创建新方法,那么我就是这样做的:

  • 如果您将同时拥有异步和同步版本的方法,请将异步版本命名为“Async”。
  • 如果方法的only 版本是异步的,那么确实不需要使用“Async”后缀,因为返回类型清楚地表明它是异步的。

最后,这取决于你。它确实没有功能上的区别。

【讨论】:

  • "...如果方法的唯一版本是异步的,那么确实不需要使用“Async”后缀,因为返回类型..." - '异步后缀使读者可以清楚地看到该方法是异步的' 不必查看返回类型。此外,不将其命名为 xxx'Async 只是因为没有同步替代方案,很可能只会让开发新代码库的读者感到困惑
  • @MickyD 每个人都有。最后,就像我说的那样,它在功能上没有任何区别。如果您没有意识到它是异步的并且不等待它,则会收到警告。
  • 这是“由你决定”,但如今,async-all-the-way-down 可能是主要或唯一的方法。不要为了后缀而添加后缀;添加它,因为它有别于规范。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-08
相关资源
最近更新 更多