Я не совсем уверен, что обоснование этого соглашения.Лично меня не волнует использование какого-либо префикса имени переменной для обозначения области видимости переменной, и я не особо беспокоюсь об использовании подчеркиваний в именовании чего-либо.Что такого плохого в использовании ключевого слова "this" и принятии соглашения о нижних верблюжьих именах для личных переменных экземпляра / члена?
public void IncrementFoo()
{
this.foo += 1;
}
Это всего лишь 5 дополнительных символов для ввода, но это очень явно.Если вы приняли нижний верблюжий принцип для ваших личных переменных экземпляра, то это сразу скажет вам, что вы получаете доступ к закрытой переменной экземпляра / члена, и вам не нужно было использовать какой-либо префикс для его обозначения..