【发布时间】: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