Çalıştığım yerde böyle şeyler yapan birçok sınıf görüyorum:
public class ClassThatCallsItsOwnGettersAndSetters {
private String field;
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public void methodWithLogic() {
setField("value");
//do stuff
String localField = getField();
//do stuff with "localField"
}
}
Bunu sıfırdan yazsaydım methodWithLogic()
bunun yerine böyle yazmış olurdum :
public class ClassThatUsesItsOwnFields {
private String field;
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public void methodWithLogic() {
field = "value";
//do stuff
//do stuff with "field"
}
}
Sınıf kendi alıcılarını ve ayarlayıcılarını aradığında, kodu okumayı zorlaştırdığını hissediyorum. Bana göre bu, neredeyse bizim asla olmadığımız halde, bu yöntem çağrısında karmaşık bir mantığın gerçekleştiğini ima ediyor. Bilmediğim bir kodun hatalarını ayıklarken, hatanın bu yöntemde bazı yan etkiler olmadığını kim söyleyebilir? Başka bir deyişle, bu kodu anlama yolculuğumda birçok yan seyahatime çıkmamı sağlıyor.
İlk yöntemin faydaları var mı? İlk yöntem gerçekten daha mı iyi?