4

我知道的所有项目——包括实体框架(它是微软本身!)——使用“Db”而不是“DB”。因此他们将“Db”视为缩写。但 FxCop 将该术语视为首字母缩略词,因此您必须将其称为“DB”。我有类似的其他术语,我喜欢写成缩写。我如何强制 FxCop 这样做?我想要与“Id”相同的行为。添加自定义字典是我认为的第一步,但是将“Db”添加到 Dictionary/Acronyms/CasingExceptions 是不够的。您仍然可以将其称为“DB”。“Db”被接受但不是强制的。不知何故,“Id”真的是强迫你不能称它为“ID”。

我已经看过了

“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\CustomDictionary.xml”

弄清楚他们是如何做到的。但是“Id”不是这个默认字典的一部分,也许还有另一个?

有任何想法吗?


此外,我不明白为什么默认情况下“DB”不作为缩写处理,它是“数据库”的缩写,如“Id”是“标识符”的缩写:

http://msdn.microsoft.com/en-us/library/ms182256(v=VS.80).aspx

也许是因为其他一些不是缩写而是首字母缩略词的例外情况?让我们说“Doggy Bag”(“DB”)?

4

1 回答 1

3

Id 的处理是硬编码的Microsoft.FxCop.Rules.Naming.CasingWordParser.CheckAbbreviation()(至少在 VS 10 中),基本上没有什么可以连接到该逻辑中。

至于为什么DB被认为是首字母缩略词而不是缩写,可能是因为“数据库”最初是“数据库”。(单独的单词形式似乎仍在使用,尽管与复合形式相比它非常罕见。)根据设计指南,如果它是缩写,我们根本不应该使用“db”,所以我想我们应该认为我们很幸运,它首先被认为是首字母缩略词。;)

尽管如此,随着时间的推移,我个人发现两个字母首字母缩写词的大写越来越令人不快。我发现它看起来很丑而且“特别”,而且对于几乎所有第一次接触到设计指南的人来说,这似乎是违反直觉的。我从来没有看到为什么设计指南团队最初认为这可能是一个好主意的解释,但我确实想知道他们中的大多数人是否不希望他们今天有机会扭转这个决定。

于 2012-09-28T16:42:07.167 回答