C# · 12月 27, 2021

c# – ‘Get’方法名称是否应包含参数名称?

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

如果我有一个带有几个标准方法的C#类,如GetByCode(字符串代码)和GetByCodeAndResourceType(字符串代码,字符串resourceType),我应该将它们重命名为重载的Get(…),因为它们可以通过参数区分清单?

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

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

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

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