मेरा मानना है कि इस मामले में एक ही सदस्य के नाम होना एक बुरा विचार है, क्योंकि यह कोड को अधिक त्रुटि प्रवण बनाता है।
परिदृश्य की कल्पना करें: आपके पास कार्टेशियन अंक के कुछ जोड़े हैं: pntA और pntB। फिर आप तय करते हैं, किसी कारण के लिए, कि उन्हें ध्रुवीय निर्देशांक में बेहतर प्रतिनिधित्व किया जाना चाहिए, और घोषणा और निर्माणकर्ता को बदलना चाहिए।
अब, यदि आपके सभी ऑपरेशन केवल विधि कॉल थे जैसे:
double distance = pntA.distanceFrom(pntB);
फिर तुम ठीक हो। लेकिन क्या होगा यदि आप सदस्यों को स्पष्ट रूप से उपयोग करते हैं? तुलना
double leftMargin = abs(pntA.x - pntB.x);
double leftMargin = abs(pntA.first - pntB.first);
पहले मामले में, कोड संकलन नहीं करेगा। आपको तुरंत त्रुटि दिखाई देगी और इसे ठीक करने में सक्षम होंगे। लेकिन अगर आपके पास एक ही सदस्य के नाम हैं, तो त्रुटि केवल तार्किक स्तर पर होगी, यह पता लगाने के लिए बहुत कठिन है।
यदि आप एक गैर-ऑब्जेक्ट-ओरिएंटेड भाषा में लिखते हैं, तो फ़ंक्शन के लिए गलत संरचना को पारित करना और भी आसान है। आपको निम्नलिखित कोड लिखने से रोकने के लिए क्या है?
double distance = calculate_distance_polar(cartesianPointA, polarPointB);
दूसरी ओर, विभिन्न प्रकार के डेटा आपको संकलन के दौरान त्रुटि खोजने की अनुमति देते हैं।