【问题标题】:Pascal Case in C# propertiesC# 属性中的 Pascal 案例
【发布时间】:2012-01-11 05:11:58
【问题描述】:

你选择哪一个以及为什么:

public class User
{
    public long UserID { get; set; }
}

public class User
{
    public long UserId { get; set; }
}

也可以作为参数:

public void DoSomething(long userId) { }
public void DoSomething(long userID) { }

【问题讨论】:

  • @CodyGray:哦,这么多重复..但是为什么我在 SO 中使用[c#] ID Id 搜索没有得到结果:(至少第一页没有结果。
  • 不知道。我用谷歌搜索。我认为他们发明了它,至少是工作版本。一个问题是有些人用c# 标记/标记他们的问题,其他人用.net 标记/标记他们的问题。对于实际上与语言无关但以特定方言提供附带代码示例的问题,并没有真正的一致性。

标签: c# .net coding-style naming-conventions pascalcasing


【解决方案1】:

conventions 非常清楚地分别选择UserIduserId(强调我的):

标识符中可以使用的两个缩写是ID和OK。 在 Pascal 大小写标识符中,它们应该显示为 Id 和 Ok。 如果用作驼峰大小写标识符中的第一个单词,它们应该分别显示为 id 和 ok。

【讨论】:

  • 但是老实说,我问过几个队友(都是中国人),我们都觉得UserId很奇怪,我们知道命名的意思,但感觉很糟糕。这对我们所有人来说都是一种奇怪的理解(也许只有中国程序员?哈哈)
  • 当然,框架方法内部并不都遵循这一点。多亏了 IntelliSense,您选择哪一个并不重要。
  • @DannyChen:不管怎样,我不是中国人,UserId 在我看来也很丑陋/错误。我通常对两个字母的首字母缩略词/缩写进行例外处理,因为它几乎不会影响可读性。
  • 如果你变得更清晰,你可以选择约定,如果你热衷于遵守约定,它将引发警告或错误。
  • @Dessus:你不必为 Resharper 掏出钱来得到烦人的唠叨。 StyleCop 将免费做同样的事情,它甚至是可定制的。
【解决方案2】:

对于 Id,它是 Identifier 的缩写,而不是首字母缩写词;在第一个字母之后使其小写是有意义的。

【讨论】:

  • 即使是 HTML、URL 和 URI,作为首字母缩略词,在 Pascal 的情况下也分别大写为 HtmlUrlUri
  • 是的,但对于他的情况,在任何方案下都没有意义
猜你喜欢
  • 1970-01-01
  • 2017-11-14
  • 2012-12-10
  • 2020-02-03
  • 2017-02-10
  • 2018-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多