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