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