जहां मैं काम करता हूं मैं बहुत सारी कक्षाएं देखता हूं जो इस तरह की चीजें करती हैं:
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"
}
}
अगर मैंने इसे खरोंच से लिखा है, तो मैंने methodWithLogic()
इसके बजाय इस तरह लिखा होगा :
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"
}
}
मुझे लगता है कि जब वर्ग अपने स्वयं के गेटर्स को कॉल करता है और बसता है, तो यह कोड को पढ़ने के लिए कठिन बना देता है। मेरे लिए यह लगभग निहित है कि जटिल तर्क उस विधि कॉल में हो रहा है, भले ही हमारे मामले में यह लगभग कभी नहीं हो। जब मैं कुछ अपरिचित कोड डिबग कर रहा हूं, तो यह कहने के लिए कि बग उस विधि में कुछ साइड इफेक्ट नहीं है? दूसरे शब्दों में, यह मुझे कोड को समझने की यात्रा पर बहुत सारी साइड यात्राएं करता है।
क्या पहली विधि के लाभ हैं? क्या पहला तरीका वास्तव में बेहतर है?