2010-01-05 8 views
5

मैं उपयोग कर रहा है काफी लंबे समय के लिए फिर से तेज और प्रकार Alt + द्वारा समस्याओं का एक बहुत कुछ को सुलझाने दर्ज आदत हो के लाभ है आज मेरे सहयोगी में से एक पूछता है कि वास्तव में क्या फायदे हैं। और यदि आप इसका उपयोग नहीं कर रहे हैं तो मैं एक शब्द अलग नहीं कह सकता था।क्या, vb.net में अनावश्यक आयात को हटाने या C# फ़ाइल में उपयोग करते हुए

क्या कोई मुझे समझा सकता है कि कोई वास्तविक लाभ क्या है?

+0

अनावश्यक द्वारा आपका मतलब बेकार है? –

+0

इसे अपने कमरे की सफाई या अपना बिस्तर बनाने के बारे में सोचें। – Josh

+0

कई बार पूछा गया था। कृपया यह धागा देखें: http://stackoverflow.com/questions/136278/why-should-you-remove-unnecessary-c-using-directives – womp

उत्तर

6

इस तथ्य के अलावा कि यह आपके कोड को साफ़ करता है, आप 'नाम संघर्ष' को भी कम कर सकते हैं।
उदाहरण के लिए, जब आपके पास अलग-अलग नामस्थानों में एक ही नाम के साथ 2 प्रकार होते हैं, और आप किसी भी प्रकार का नाम किसी नामस्थान से नहीं उपयोग करते हैं ... तो आपको इसका उपयोग करते समय प्रकार के नामस्थान को निर्दिष्ट करने की आवश्यकता नहीं है, यह आपके कोड क्लीनर।

0

यह तेज़ है - यदि आपके पास संदर्भ है तो कंपाइलर को प्रतीक तालिकाएं लोड करनी होंगी।

+1

लिंक के लिए धन्यवाद विषय-वस्तु असेंबली के संदर्भों के बारे में बात नहीं कर रही है, वह वार्ता करता है नामों का उपयोग/उपयोग करने के बारे में जिनका उपयोग नहीं किया जाता है। –

+0

हाँ मुझे पता है कि। जब आप आयात कथन का उपयोग करते हैं तो आप कैसे सोचते हैं कि कंपाइलर्स नामों को हल करने में सक्षम हैं। कंपाइलर जाता है और उस नामस्थान के लिए एक प्रतीक तालिका पढ़ता है और प्रतीक तालिका में नाम रखता है ताकि यह उन्हें हल कर सके।मुझे गलत होने पर -1 प्राप्त करने में कोई फर्क नहीं पड़ता, लेकिन यह कंपाइलर लेखन 101 है। – Hogan

+0

यहां आप किसी अन्य व्यक्ति को @ फ़्रेडरिक जाते हैं, जिसने वही बात कहा है http://stackoverflow.com/questions/136278/why-should-you- निकालें-अनावश्यक-सी-उपयोग-निर्देश/136320 # 136320 – Hogan

0

कोई रनटाइम या संकलन प्रदर्शन लाभ नहीं है। यह सिर्फ सुंदर कोड के लिए बनाता है।

+0

यदि अधिक प्रतीकों को लोड किया जाता है तो संकलन धीमा नहीं होगा? – Hogan

+0

शायद, लेकिन केवल मामूली रूप से; मानव आंख शायद ही कभी अंतर बताने में सक्षम होगी। कथन का उपयोग करके अनावश्यक रूप से संकलन के दौरान संदर्भित परियोजनाओं को लोड करने से आपको बहुत अधिक प्रदर्शन समस्याएं मिलेंगी। – Randolpho

2

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

यदि आप ऐसी लाइब्रेरी समेत हैं जिसमें आपको आवश्यकता नहीं है, और मैं आपका कोड पढ़ रहा हूं, तो मैं यह पता लगाने की कोशिश कर रहा हूं कि आप कहां संदर्भित करते हैं या इसका उपयोग क्यों किया जाता है।

1

यदि आप अधिक आयात की तुलना में आप की जरूरत है कि आप कुछ समस्या आती है:

  • जब आप एक वर्ग का उपयोग करने का प्रयास करें, यह अस्पष्ट जो वर्ग क्या आपका मतलब है और आप को स्पष्ट करने के लिए
  • आगे निर्दिष्ट करना Autocomplete कई चीजों का सुझाव देता है जिनकी आप उपयोग करने की संभावना नहीं रखते हैं (यह आमतौर पर ऐसा करता है, लेकिन अतिरिक्त उपयोग होने से समस्या खराब होती है)।
  • यह कहना मुश्किल है कि आपकी कक्षा किस निर्भरता सूची का उपयोग कर रही है।
4

यह अनावश्यकता को हटा देता है, जो एक अच्छी बात है। और, निर्देशों वापस का उपयोग कर की जरूरत का सबसे पाने के लिए एएलटी + ENTER (आर # साथ) दबाकर या + दबाने CTRL द्वारा स्मार्ट टैग लागू करके अपनी आसान। कक्षा में (बिना आर #) जिसकी आवश्यकता है।

नकारात्मक पक्ष पर, आप उपलब्ध एक्सटेंशन विधियों की दृष्टि खो सकते हैं, खासकर जब System.Linq नामस्थान आयात हटा दिया गया है।

+0

सिर्फ एक नोट: यदि आप linq क्वेरी एक्सप्रेशन टाइप करना प्रारंभ करते हैं तो Resharper System.Linq नेमस्पेस जोड़ने के लिए क्विकलिस्ट दिखाएगा। –

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