"Get"方法名称是否应包含参数名称?

Ral*_*lle 6 c# object

如果以前曾经问过这个,并且很难想象它没有,但它没有明显的关键字关联,所以很难检查.

如果我有一对夫妇的标准方法,如C#类GetByCode(string code)GetByCodeAndResourceType(string code, string resourceType),我应该只是将其重命名为超载Get(...),因为它们是由参数列表区分?

显然,可能存在这样的情况:可能需要相同的方法签名用于不同的目的,但除了我不能看到需要单独的方法名称,只要有智能感知的评论.

我很想知道有谁认为是利弊.

Bri*_*tle 6

如果它们都做同样的事情(或返回相同的值)但接受不同的输入,那么最好通过重载参数来区分它们.如果他们做什么或返回有什么不同,那么我会使用不同的名称.

命名差异的另一个原因可能是性能,或者另一个不明显的特性(例如,一个过载比另一个慢很多).这可以在文档中详细说明,但提供不同的名称会引起更多关注.