2012-02-17 28 views
5

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

क्या आप जानते हैं कि मैं इन तरीकों को तेजी से निजी बनाने के लिए देख सकता हूं? मैं ग्रहण का उपयोग कर रहा हूँ।

+4

संदेशों के थोक निजी होने की जरूरत है, तो आप निजी खोज का उपयोग किया/की जगह और फिर जो कि लाल जाना है क्योंकि वे सार्वजनिक होने की जरूरत है ठीक करने के लिए सभी सार्वजनिक सेट कर सकते हैं। – Gray

+1

आप ऐसा क्यों करेंगे? यदि यह एक उत्पादन वातावरण है, तो कृपया ऐसा न करें। –

उत्तर

8

सभी को एक विकल्प बदलें।

लेकिन मैं सुझाव है कि आप यह मत करो। private और public प्रोग्रामर के लिए हैं। यदि आप केवल कक्षा से ही एक विधि को कॉल करते हैं, तो इसका स्वचालित अर्थ यह नहीं है कि मेंprivate है। सबसे अच्छी बात यह है कि आप एक बार में एक बार जा सकते हैं और खुद से पूछ सकते हैं "क्या यह विधि सार्वजनिक इंटरफ़ेस का हिस्सा होनी चाहिए या नहीं?"।

निजी तौर पर, जब भी मुझे उपयोग करने की आवश्यकता होती है, तो मुझे private विधि का सामना करना पड़ता है, 99% बार मैं इसे private छोड़ देता हूं और एक कामकाज की तलाश करता हूं। ऐसा इसलिए है क्योंकि मुझे लगता है कि कोड के मूल लेखक को पता था कि वह क्या कर रहा था। बेशक, यह हमेशा लागू नहीं होता है।

private आशय का एक बयान है। यह कहने जैसा है - यदि आपको कक्षा के बाहर से इसका उपयोग करने की ज़रूरत है, तो आप कुछ गलत कर रहे हैं। आपको इसकी आवश्यकता नहीं होनी चाहिए।

1

हो सकता है कि एक तरह से चयनित दस्तावेज़ों पर और "सभी बदलें" समारोह के साथ "निजी" शब्दों के साथ "सार्वजनिक" शब्द की जगह होगी। लेकिन यदि आपके पास विधि हस्ताक्षर के अलावा कुछ कोड की सामग्री में "सार्वजनिक" है, तो इसका साइड इफेक्ट्स है, उदा। एक स्ट्रिंग के अंदर शायद।

सभी विधि हस्ताक्षर आपके द्वारा चुने गए बदलने के बाद, बनाने के लिए एक बार और जाँच उन्हें यकीन है कि वे जिस तरह से आप चाहते थे में हैं।

2

एक बात की है के बारे में पता होना करने के लिए है, क्योंकि यह सार्वजनिक दायरे मान लिया जाता है, तो आप अपने वर्ग विधि बुला के बाहर कक्षाएं हो सकता है। यदि आप स्वयं को गारंटी देने में सक्षम हैं कि आपके पास यह सब संभव कोड है। आप यह भी जांच सकते हैं कि विधि पर दाहिनी माउस क्लिक करके ग्रहण में विधि का उपयोग किया जा रहा है या यह सुनिश्चित करने के लिए संदर्भ या (ctrl + shift + g) का उपयोग करें कि यह विधि कहां नहीं कह रही है।

वास्तव में सार्वजनिक से निजी में परिवर्तन करने के लिए, एक खोज और प्रतिस्थापन शायद आपकी सबसे अच्छी शर्त है।

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