Я поставлю префикс, сказав, что я понимаю, что Code Analysis и 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.
Что вы, ребята, обычно делаете?И что еще более важно, что, по мнению авторов этих правил, вы должны сделать (поскольку ни один из них не предлагает альтернативных решений в своей документации)?