【问题标题】:Proper Naming Convention For Parameter of Type List<long>List<long> 类型参数的正确命名约定
【发布时间】:2019-12-13 14:09:30
【问题描述】:

我在 c# 中编写了一个方法,它采用 List 类型的输入参数,并将参数变量名称保留为 cardIDList。

根据代码审查反馈,他们要求我将参数变量名称从 cardIDList 更改为 cardIDs,说附加列表不是 Microsoft 标准的正确命名约定。

我试图在谷歌中找到该反馈的真实性,但我无法在任何地方找到这样的反馈。我需要这方面的帮助。

发件人:

public void DoSomething(List<long> cardIDList)

收件人:

public void DoSomething(List<long> cardIDs)

【问题讨论】:

  • 看看here?
  • 没有必要在名称中包含List,因为变量的类型已经告诉你了。
  • 这都是主观的,唯一的规则是遵守给你的人的规则

标签: c# rename


【解决方案1】:

常见的命名约定可以在这里找到https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md 和这里: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/naming-guidelines

https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/naming-parameters 说:

考虑使用基于参数含义的名称,而不是 参数的类型。

首先——为什么要取List作为参数?您应该允许参数尽可能通用 - 如果您只需要元素集合及其计数,请使用 ICollection。如果您只想遍历列表,则更好的 IEnumerable 或 IReadOnlyCollection 如果您想避免意外的项目更改。为这个方法编写单元测试或在将来重写它会容易得多。

如您所见,参数的类型将来可以更改,并且不应该影响命名。将“list”放在参数名称中是多余的,因为我们已经知道该参数的类型。现在,如果您想将类型更改为 IEnumerable,您应该怎么做?改成cardIDEnumerable?

【讨论】:

    猜你喜欢
    • 2018-01-18
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    相关资源
    最近更新 更多