В типичном методе сеттера (взято из ответа Лагердалека):
string name;
public void SetName(string name)
{
this.name = name;
}
Если вы не используете его, компилятор не узнает, что вы ссылаетесь на переменную-член.
Использование this.
предназначено для указания компилятору, что вам необходим доступ к переменной-члену, что находится за пределами непосредственной области применения метода. Создание переменной внутри метода, имя которой совпадает с именем переменной-члена, является абсолютно допустимым, точно так же как переопределение метода в классе, который расширил другой класс, является совершенно допустимым.
Однако, если вам все еще нужно использовать метод суперкласса, вы используете super.
На мой взгляд, используя это. не хуже, чем при использовании супер. и дает программисту больше гибкости в их коде.
Насколько я понимаю, читаемость даже не заходит, все зависит от доступности ваших переменных.