【问题标题】:CA1709 - Should we ignore this and use Db or DB?CA1709 - 我们应该忽略这一点并使用 Db 还是 DB?
【发布时间】:2011-07-14 21:49:46
【问题描述】:

我知道这听起来很傻,但是关于CA1709,我们是否应该忽略这个错误并按照微软所做的(使用 Db 作为数据库的首字母缩写词)?

只是想知道外面的人在做什么。对我来说,当微软到处使用Db 时,使用DB 似乎很愚蠢。

【问题讨论】:

  • 我个人认为“大写的两个字母缩写”规则很愚蠢,因为它丢失了有关标识符不同部分开始位置的信息。
  • @CodeInChaos - 正如@ChrisWue 指出的那样,这是关于一致性的。在某些情况下,几乎每个标准都是愚蠢的、武断的,或两者兼而有之。微软在他们的代码上投入了大量的时间和研究,并与它保持相当接近,从而产生了一个为大量开发人员所熟悉的代码库。 (我的两分钱。)
  • 那么您将失去自动转换为不同约定的能力。一种应用是 json 序列化,其中约定通常是用 _ 分隔不同的单词。

标签: c# .net naming-conventions fxcop


【解决方案1】:

在优秀的Framework Design Guidelines 中引用 Brad Abrams:

...我已经听到了违反这些命名的所有可能的借口 指导方针。 [...] 在大多数情况下,我们的客户已经看到 我们偏离这些准则的地方(即使是 最好的借口)作为框架中的缺陷。

换句话说,照他们说的做,而不是照他们做的做。 :)

此外,“Db”是缩写,而不是首字母缩略词。数据库是一个词。根据指南,绝不应在标识符中使用缩写词。 ('Id' 是一个特例。)

遗憾的是,CA1709 link 将“DB”列为示例。 :(

【讨论】:

  • 那么,您的回答是说应该是“DB”还是“Db”?
  • @m-y 根据 Microsoft 指南(Microsoft 并不总是遵循),它实际上应该是“数据库”。我可能会使用 System.Data.Entity.DbContext 中的“Db” - 但正如 ChrisWue 所说,为您的团队选择一个标准并保持一致。
  • 你能链接到这些指南吗,我找不到说明在任何地方使用全名“数据库”的实际链接。
  • Capitalization Conventions,但我建议购买这本书(请参阅我的答案中的链接)。里面有很多好的建议。
  • 两个字母 'Db' 应该是一个例外,就像 Id 一样。我一直想知道是谁创建了“DBNull”类,它在我们所有的 API 中都是一个例外。
【解决方案2】:

这并不重要,不是吗?选择您最喜欢的 - 但请确保您始终如一地使用它。对于编码和命名约定,主要是关于选择一个你喜欢并保持一致

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 2017-04-29
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 2014-03-12
    相关资源
    最近更新 更多