【问题标题】:Single and multiple method naming C# [closed]单个和多个方法命名 C# [关闭]
【发布时间】:2018-05-28 07:12:38
【问题描述】:

我有一个关于方法命名的问题。我有两种方法:

private UserReport CreateUserReport(string userId, Report report)

private IEnumerable<UserReport> CreateUserReports(string userId, IEnumerable<Report> reports)

我应该将“s”添加到第二个方法名称还是使用CreateUserReport 名称作为两个方法,即它们仅在签名上有所不同?

【问题讨论】:

  • 它们的符号不同就足够了,只要参数的数量或类型不同,它们就可以具有相同的名称。
  • 如果前者创建一个而后者创建多个产品,那么 s 位于后者的末尾是有意义的(由于英语的工作方式)。但编译器并不要求它。
  • 当然,为什么不呢。 IMO,命名约定辩论中唯一的实际论点是:确保您在所有代码中都遵循标准。如果它是一种非常规的风格,也要记录下来。
  • 我知道这一点,但在这里我想听听有关干净代码的建议。阅读我的代码的程序员如何更清楚,他会查看签名以确定他在做什么?怎么样更好?
  • How is it better? 因为大多数程序员都知道CreateApple 会做一个苹果,CreateApples 会做多个。

标签: c# naming-conventions naming


【解决方案1】:

它们不仅在签名上有所不同,而且在用途上也有所不同。上面的一个生成单个报告,而下面的一个生成多个报告。我强烈建议您应该为它们使用不同的名称。对于具有相同名称的方法,我认为返回类型应该匹配并且它们仅在参数上有所不同是可取的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    相关资源
    最近更新 更多