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" が失われ、バグが発生するリスクがあります。
一般的なコンセンサスは何ですか?シャドーイングを禁止するか、ときどき許可するか、そのままにするか。