我先说我理解代码分析和 StyleCop 都是作为指导方针的,而且许多人还是选择忽略这些。但话虽如此,我想看看关于这两条规则的普遍共识是什么。
规则 CA1500说不要使参数名称和私有字段名称相同。
另一方面,规则 SA1309说不要在成员前面加上下划线或“m_”。
这使我们几乎没有选择将私有支持字段与其相应参数区分开来。举这些例子。
SA1309 抱怨:
class SomeClass
{
int _someField;
public SomeClass(int someField)
{
this._someField = someField;
}
}
CA1500 抱怨:
class SomeClass
{
int someField;
public SomeClass(int someField)
{
this.someField = someField;
}
}
我有什么选择?我不想创建私有支持字段 PascalCase,因为这是(我相信相当普遍的)公共字段/属性的约定。而且我不想重命名其中一个,只是为了解决歧义。
所以我只剩下上述两个之一,这将要求我取消 SA/CA 规则之一。
你们一般都做什么?更重要的是,这些规则的作者认为您应该做什么(因为在他们的文档中都没有提供替代解决方案)?