2010-05-10 5 views
15

मुझे ग्रहण में बहुत से रिफैक्टरिंग (वास्तव में फ़ील्ड नाम बदलने की आवश्यकता है) करने की आवश्यकता है। यह सभी घटनाओं, क्षेत्रों के संदर्भ बदल रहा है। लेकिन एक बात यह है कि यह गेटटर/सेटर नाम बदल नहीं रहा है जो पिछले नाम के आधार पर उत्पन्न हुए हैं।ग्रहण में फील्ड नामों को दोबारा करने की आवश्यकता है जो गेटर्स/सेटर्स को बदलना चाहिए

क्या हमारे पास ऐसा करने के लिए कोई प्लगइन है या कोई कॉन्फ़िगरेशन परिवर्तन करने की आवश्यकता है?

उत्तर

22

हां, गैलीलियो में "नाम बदलें" संवाद में फ़ील्ड के सेटर्स और गेटर्स को बदलने का विकल्प होता है - see here

गैलीलियो से पहले (वैकल्पिक रूप से, आप ALT + SHIFT + R दो बार क्षेत्र को चुनने के बाद का उपयोग कर सकते), तो आपको 3 के बजाय एक (है कि बुरा नहीं) कार्यों

+2

धन्यवाद बहुत बोझो :) यह अब मेरे लिए बहुत बेहतर है। हालांकि अभी भी एक छोटी सी समस्या है, यह सेटटर के पैरामीटर नाम पर विचार नहीं कर रहा है। – Reddy

+0

एचएम, हाँ, यह एक उचित बिंदु है। आप इसे छोड़ सकते हैं, या आप इसे मैन्युअल रूप से बदल सकते हैं। – Bozho

+0

+1 मेरी साइट के लिंक को शामिल करने के लिए: डी – nanda

2

ALT + SHIFT + आर कर दिया था डिफ़ॉल्ट कीबोर्ड शॉर्टकट है नाम बदलने के लिए ... यह कमाल है!

+2

हाँ, लेकिन यह सेटर्स और गेटर्स का नाम नहीं बदलेगा – Bozho

+0

वास्तव में * क्या आपको विकल्प के साथ एक संवाद देता है गेटर और सेटर विधियों का नाम बदलने के लिए। – les2

+2

हाय एलईएस 2, हाँ .. यह कुंजीपटल शॉर्टकट है लेकिन गैलीलियो में आपको संवाद बॉक्स प्राप्त करने के लिए इसे दो बार दबा देना होगा। – Reddy

1

'गेटर्स' और 'सेटर्स' के लिए आंतरिक क्षेत्र के समान नाम रखने की कोई वास्तविक आवश्यकता नहीं है। असल में कई लोग तर्क देंगे कि दोनों को एक साथ जोड़ना ऑब्जेक्ट उन्मुख प्रोग्रामिंग के डेटा छिपाने के सिद्धांतों का उल्लंघन है। गेटर्स और सेटर्स रखने के बिंदु का हिस्सा शेष कोड को कक्षा में आंतरिक परिवर्तनों से बदलना है, जैसे कि नामकरण करना।

यह कहकर कि, यदि आप पूरी तरह से निर्णय लेते हैं कि आपको विधियों के साथ-साथ फ़ील्ड का नाम बदलने की आवश्यकता है, तो ग्रहण आपके लिए यह करेगा। आपको उन्हें अलग से करना है, लेकिन उसी नाम का नाम बदलने के लिए आप 'नाम' का उपयोग कर रहे हैं। बस विधि का चयन करें और जो आपने पहले किया था वह करें।

+0

धन्यवाद DJClayworth। लेकिन, कैसे एक निजी वैरिएबल के नामक गेटर्स/सेटर्स के समान डेटा डेटा छिपाने के सिद्धांतों का उल्लंघन करेगा? चूंकि यह निजी है, कोई भी शरीर सीधे इसे एक्सेस करने में सक्षम नहीं होगा..ठीक है? – Reddy

+0

आप सही हैं। लेकिन अगर आपने वैरिएबल नाम बदलते समय गेटर्स और सेटर्स में बदलाव को फॉरवर्ड किया है, तो डेटा छिपाने का उल्लंघन करेगा, क्योंकि कक्षा की आंतरिक संरचना में बदलाव से कक्षाओं में बदलाव करने के लिए मजबूर होना पड़ेगा। यदि आप कक्षा को पुनर्गठित करते हैं तो आप इस बारे में सोचना चाहते हैं कि आंतरिक डेटा को एक अलग प्रारूप में संग्रहीत किया गया था, इसलिए फ़ील्ड अब अस्तित्व में नहीं था। अच्छा डिजाइन कहता है कि आपको गेटर्स और सेटर्स रखने की जरूरत है: फिर आप उन्हें क्या कहते हैं? – DJClayworth

+0

अब समझें मेरे मामले में यह नया कोड है और मुझे इसे करने से पहले 2, 3 बार नाम बदलना पड़ा है। हालांकि यह ओओपीएस सिद्धांतों का उल्लंघन करेगा, मुझे लगता है, अगर मैं गेटर्स/सेटर्स को सभी कॉल भी बदल सकता हूं (क्योंकि मेरे नियंत्रण में कोड से होने वाली सभी कॉलें) क्या हमें कोड को और अधिक पठनीय रखने के लिए नहीं बदलना चाहिए ? – Reddy

0

चरण -1 जाओ एक्सप्लोरर पैकेज को

चरण -2 ले जाएँ फ़ील्ड नाम के लिए जो

enter image description here

कदम का नाम बदलने की है 3 प्रेस एफ 2। एक नाम बदलें संवाद बॉक्स

चरण -4 गेटर और सेटर का नाम बदलने के लिए टिक मार्क चेकबॉक्स भी दिखाई देगा। ओके पर क्लिक करें।

enter image description here

आप काम हो गया।

संबंधित मुद्दे

 संबंधित मुद्दे