2008-10-24 8 views
13

मुझे पता है कि VS2008 में निर्देशों का उपयोग करके सफाई के लिए निकालें और सॉर्ट फ़ंक्शन है, जैसा कि रिशेर्पर करता है। आपके कोड के अलावा "साफ" होने और नामस्थानों को संदर्भित करने की समस्या को हटाने के अलावा जो भविष्य में मौजूद नहीं हो सकते हैं, निर्देशों का उपयोग करने की "साफ" सूची बनाए रखने के क्या फायदे हैं?सी # में निर्देशों का उपयोग करने की "साफ" सूची बनाए रखने के क्या फायदे हैं?

कम कोड? तेज संकलन के समय?

+0

हम्म, किसी ने मेरा शीर्षक संपादित किया। मूल एक था, "क्या आप सी # में बयानों का उपयोग करके अनावश्यक हटाने के साथ परेशान हैं?" – Carl

+0

मैंने सटीकता के लिए "कथन" को "निर्देश" में बदल दिया है। कथन का उपयोग वे हैं जो आखिरकार ब्लॉक में निपटान करते हैं। आप निर्देशों का उपयोग करने के बारे में बात कर रहे हैं। –

उत्तर

10

मेरे लिए यह मूल रूप से कम शोर के बारे में है (साथ ही रिशेपर खुश कर रहा है!)।

मुझे विश्वास है कि संकलन समय में कोई भी सुधार न्यूनतम होगा।

+0

यह मेरी सोच भी है। – Carl

+3

हाँ, मैं बस रिशेर्पर को खुश रखने के लिए उनसे छुटकारा पाता हूं। :-) –

2

मेरे लिए, शुरुआत में बयानों का उपयोग करने की एक साफ सूची उम्मीदों की अपेक्षाओं की अच्छी समझ दे सकती है।

2

कुछ साल पहले मैंने संकलन समय में एक सभ्य लाभ देखा था जब मैंने पहली बार रीशेपर (18 परियोजना समाधान पर) स्थापित किया था। तब से यह सिर्फ इसे साफ रखने के बारे में रहा है।

18

यदि आपके पास हमेशा उपयोग करने वाले निर्देश हैं, और हमेशा उन्हें उचित तरीके से सॉर्ट किया गया है, तो जब आप कोड के दो संस्करणों को अलग करते हैं, तो आपको कभी भी अप्रासंगिक परिवर्तन दिखाई नहीं देंगे।

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

+0

वास्तव में नहीं। मैं पूरी तरह से शोर के रूप में शीर्ष पर उपयोग ब्लॉक को अनदेखा करता हूं। –

+4

यदि आप जानते हैं कि प्रत्येक उपयोग निर्देश का उपयोग किया जा रहा है तो वे शोर नहीं हैं। भले ही आप उन्हें शोर के रूप में देखते हैं, फिर भी यदि आप उन्हें चेक में नहीं रखते हैं तो वे diff पर झूठी सकारात्मक दे सकते हैं। –

+0

प्रदर्शन के अनुसार, क्या कोई कमी है? –

0

मैं संकलन समय और प्रदर्शन में लाभों से बात नहीं कर सकता, लेकिन अगर आप घोषणाओं का उपयोग कम कर चुके हैं तो नामस्थान टकराव का कम मौका है। यह विशेष रूप से महत्वपूर्ण है यदि आप एक से अधिक तृतीय पक्ष लाइब्रेरी का उपयोग कर रहे हैं।

7

कोई रनटाइम प्रभाव नहीं है। यह पूरी तरह से संकलित समय है। यह संभावित प्रभावों निम्नलिखित:

  1. नाम स्थान टकराव के लिए कम मौका
  2. कम 'शोर' कोड फ़ाइल
  3. बहुत स्पष्ट है जिसके बारे में नामस्थान और संभव फ़ाइल प्रकारों को
  4. में उम्मीद करने के मेनू का उपयोग करके में अप्रयुक्त और सॉर्ट को हटाने के लिए देवताओं के बीच बयानों का उपयोग करने के साथ अधिक स्थिरता का मतलब है। बस इसे ठीक करने के लिए गूंगा चेकइन का कम मौका।
7
  1. कम शोर।
  2. किस प्रकार का उपयोग किया जाता है इसकी स्पष्ट उम्मीद ("मेरी यूआई परत System.Net वाह पर निर्भर करती है, क्यों?")
  3. क्लीनर संदर्भ: यदि आपके पास कथन का उपयोग करने का न्यूनतम सेट है, तो आप अपने संदर्भों को साफ़ कर सकते हैं। अक्सर मैं डेवलपर्स को अपनी परियोजनाओं में फेंकने वाले संदर्भों को देखता हूं, लेकिन जब उन्हें अब आवश्यकता नहीं होती है तो वे उन्हें कभी नहीं हटाते हैं। यदि आपके पास कुछ भी नहीं है जो वास्तव में एक संदर्भ (और एक उपयोग कथन गणना) की आवश्यकता है, तो यह आपके संदर्भों को साफ करने के लिए तुच्छ हो जाता है। (क्यों आपको लगता है कि क्या करना चाहते हैं बड़े सिस्टम कि घटकों में विघटित कर दिया गया है यह अप्रयुक्त deps को नष्ट करने से अपने निर्माण निर्भरता को कारगर होगा?।)
0

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

आमतौर पर संकलक अप्रयुक्त संदर्भ हटा देता है, लेकिन मुझे नहीं पता कि यह कोड में उपयोग करते समय काम करता है या नहीं।

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