Случай затенения переменных класса распространен в Java. Eclipse с радостью сгенерирует этот код:
public class TestClass {
private int value;
private String test;
public TestClass(int value, String test) {
super();
this.value = value;
this.test = test;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}
Является ли переменная затенение когда-либо приемлемой?
Я рассматриваю реализацию правила кодирования, в котором говорится, что "затенение не будет разрешено". В простом случае выше достаточно ясно, что происходит. Добавьте еще немного кода, который что-то делает, и вы рискуете потерять "this" и введя ошибку.
Каков общий консенсус? Запретить затенение, разрешить его иногда или позволить ему катиться?