क्या वीएस प्रोजेक्ट में स्टेटमेंट्स का उपयोग करके अप्रयुक्त को हटाने का कोई लाभ है?


21

क्या वीएस प्रोजेक्ट में स्टेटमेंट का उपयोग करने वाले अप्रयुक्त को हटाने का कोई लाभ है (जैसे कि रेस्पर का उपयोग करके किया जा सकता है), या क्या वीएस स्वचालित रूप से इस बात का ध्यान रखेगा कि निर्माण / तैनाती कब होगी?


1
उस इंप्रेशन के बारे में जो आपने removing unused references(DLL) के बारे में पूछा और सभी उत्तर के बारे में हैं removing unused using statements
रेज़वान फ्लवियस पांडा

@ रेज़वानपांडा: नहीं, यह बयानों का उपयोग कर रहा है; यदि आप R # के साथ उत्तरार्द्ध कर सकते हैं, तो मुझे चेक करना होगा - जो सुखद रूप से कम अस्थायी होगा।
बी क्ले शैनन

ऊंचाई, अर्थ फिट करने के लिए शब्दांकन को सही करना।
राज़्वान फ्लेवियस पांडा

1
आप नवीनतम R # के साथ अप्रयुक्त DLL संदर्भों को हटा सकते हैं, लेकिन गतिशील DLL संदर्भों के बारे में सावधान रहना महत्वपूर्ण है या रनटाइम पर चीजें टूट सकती हैं।
रेज़वान फ्लवियस पांडा

जवाबों:


23

कोई प्रदर्शन लाभ नहीं हैं, अगर आपका यही मतलब है।

एक विधानसभा में सभी संदर्भ पूरी तरह से योग्य हैं; संकलक केवल आपके संदर्भ में आपके द्वारा प्रदान किए गए संदर्भों का उपयोग पहचानकर्ताओं को पूरी तरह से योग्य बनाने के लिए करता है, इसलिए आपके स्रोत कोड में अप्रयुक्त संदर्भों का एकमात्र प्रभाव पठनीयता में थोड़ी कमी (यह संदर्भ क्यों है?), और संकलन समय में एक तुच्छ वृद्धि है।

इसे दूसरे तरीके से रखने के लिए, उत्पन्न IL ठीक वैसा ही है जैसे आप अप्रयुक्त संदर्भों को हटाते हैं या नहीं।


अप्रयुक्त Usings को हटाने के लिए एक अप्रत्यक्ष लाभ हो सकता है । यदि बदले में ऐसा करने से बाहरी DLL को एक या एक से अधिक संदर्भों को एक समाधान से निकालने की अनुमति मिलती है, तो इससे एप्लिकेशन के परिनियोजन आकार और / या स्टार्टअप समय का लाभ मिल सकता है।
वीर

1
यदि आप usings को हटाते हैं तो उत्पन्न IL नहीं बदलता है, इसलिए मैं यह नहीं देखता कि कुछ भी कैसे प्रभावित होगा।
रॉबर्ट हार्वे

सच: यदि आप अप्रयुक्त usings या DLL संदर्भ ( Reference IncludeMSBuild फ़ाइल तत्व, /reference:CSC तर्क) जोड़ते हैं तो IL नहीं बदलेगा । मेरे मन में था: usingएक वेब एप्लिकेशन प्रोजेक्ट से अप्रयुक्त निकालें । उन पर DLL संदर्भों के एक समूह को शामिल करने के लिए कोड सम्मोहक की एकमात्र लाइनें थीं, इसलिए अब उन्हें हटा दें। जैसा कि आप कहते हैं, तेजी से और अधिक बनाता है - यदि संदर्भ UNC पथ थे (CSC सभी संदर्भ पथों की जाँच करता है)। तुच्छ जीत 2: सीआई की गति (स्क्रिप्ट सभी संदर्भित डीएलएल को पकड़ती है) बेहतर होती है क्योंकि कम फाइलें कॉपी की जाती हैं जैसे स्रोत नियंत्रण सर्वर से ऐप सर्वर (सर्वर) को प्रकाशित करने के लिए सर्वर का निर्माण करना।
वीर

कम कोड अधिक पठनीय कोड है। कम अधिक है - यह लाभ है और यह उस कारण से करने योग्य है।
नीको

24

हां - मैं दो प्राथमिक लाभों के बारे में सोच सकता हूं:

  1. इसके प्राथमिक कार्यात्मक उद्देश्य से परे (यानी कोड वर्बोसिटी को कम करने के लिए), एक कोड फ़ाइल के शीर्ष पर 'का उपयोग करते हुए' स्टेटमेंट लिस्ट भविष्य के पाठकों (विशेषकर उन लोगों के बिना जो रिस्पेक्टर के बिना बता सकते हैं) जो उस कोड फ़ाइल के लिए प्रासंगिक (या कम से कम ) प्रासंगिक थे । यदि आप इस सूची को सक्रिय रूप से पसंद करते हैं, तो यह एक बेहतर सिग्नलिंग तंत्र के रूप में कार्य कर सकता है।
  2. अप्रयुक्त नामस्थानों को हटाने से आपके पाठ संपादक में स्वतः पूर्णता वाले उम्मीदवारों की संख्या कम हो जाएगी जैसे ही आप टाइप करते हैं। यदि आप स्वत: पूर्णता सूचियों पर भरोसा करते हैं, तो यह आपको "सीधे और संकीर्ण" पर बनाए रखने में मदद करेगा और यहां तक ​​कि आपकी टाइपिंग की गति भी बढ़ा सकता है, क्योंकि आपको अपने इच्छित ऑटोकंप्लीशन उम्मीदवार को बस थोड़ी सी तेजी से खोजने में सक्षम होना चाहिए।

1
आह, बहुत अच्छे अंक, विशेष रूप से # 2!
बी क्ले शैनन

0

अप्रयुक्त कोड को निकालना, प्राप्त की गई क्षमता को मापने के लिए सिर्फ अतिरिक्त सामान और हार्ड है।

  • अप्रयुक्त कोड को हटाकर, संकलन समय को नीचे लाता है, मैं एक ऐसी परियोजना पर काम कर रहा हूं जिसमें 15 से 20 मिनट लगते हैं, अप्रयुक्त कोड है। अप्रयुक्त कोड को हटाकर संकलन समय को ~ 7 मिनट तक कम कर दिया। जब टीम में कई डेवलपर्स होते हैं, तो यह एक बदलाव करता है, इससे सभी को जल्दी से निर्माण और परीक्षण करने के लिए समय की बचत होती है।

  • यदि आपने अपने बिल्ड और यूनिट परीक्षणों को स्वचालित कर दिया है, तो अब आपने यूनिट परीक्षणों को हटा दिया है जिनकी आपको आवश्यकता नहीं है। फिर से यूनिट परीक्षणों को चलाने के लिए समय कम कर दिया जाता है। बस अपने सतत निर्माण प्रबंधन प्रक्रिया में दक्षता में वृद्धि हुई है।

    • आपके बायनेरिज़ के बड़े फुट प्रिंट में अप्रयुक्त कोड परिणाम। छोटे कोड फुट प्रिंट होने से शुरू में लोड / स्टार्ट करने में लगने वाला समय कम हो जाएगा। हालांकि लाभ बहुत कम और व्यक्तिपरक हो सकता है।

4
सवाल सामान्य रूप से अप्रयुक्त कोड के बारे में नहीं है, यह अप्रयुक्त संदर्भों के बारे में है
gnat

... देखें कैसे उत्तर दें : "प्रश्न को ध्यान से पढ़ें । क्या, विशेष रूप से , सवाल पूछ रहा है? सुनिश्चित करें कि आपका उत्तर प्रदान करता है - या व्यवहार्य विकल्प ..."
gnat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.