CA1726:FxCop禁止的词:标志

Efr*_*ain 13 c# fxcop coding-style rules

有人希望我让其他人的代码符合某些FxCop规则集,其中包括规则CA1726:使用首选术语.大多数术语/替换都是正确的,我可以理解,人们必须决定用一种方法来命名.

但是,"旗帜"一词的处理方式是什么?任何人都可以向我解释为什么我不会使用这个名字?(在我去老板之前抱怨它之前;))

比如,我有一个数据对象,它有一个类'flags'的成员,它捆绑了大量定义如何处理数据对象的属性.你怎么称呼这个?

Jas*_*ore 12

在FxCop所基于的框架设计指南一书中,作者说使用Flag或者Flags是一个坏主意.他们的替代建议是,在命名枚举时,您使用标准枚举的单数名称和位字段(标志)枚举的复数名称.

例如,如果你想创建一个枚举列出不同的可见性,那么你将它命名Visibilities,而不是VisibilityFlagsVisibility:

[Flags]
public enum Visibilities {
   Public,
   Private
}
Run Code Online (Sandbox Code Playgroud)

作者在.NET中考虑标记的唯一项是由于关键字Flags属性而产生的这些位域枚举.