2010-03-29 9 views
6

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

क्या ऐसा करने का कोई तरीका है? आप लोग क्या करते हैं?

कुछ स्पष्टीकरण

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

उत्तर

0

क्या आपने #region पर विचार किया है?

int x = 3; 
    x++; 

#region Trace 
    // ... 
#endregion 

    x += 2; 

वीएस स्वचालित रूप से आपको क्षेत्र का विस्तार या छुपाने की अनुमति देगा।

+0

आप कक्षा या विधि में सभी ट्रेस क्षेत्रों को कैसे छिपाएंगे? – Mark

+0

मिलान क्षेत्रों को छुपाने/दिखाने के लिए एक वीएस मैक्रो बनाएं – CResults

+0

हालांकि मुझे यह पसंद नहीं है, मैं क्षेत्रों का उपयोग करके समाप्त हुआ, इसलिए मैं इसे उत्तर के रूप में चिह्नित कर रहा हूं। – Mark

1

मैं इसे छिपाने के खिलाफ सलाह दूंगा। यदि बॉयलरप्लेट कोड है जो मंच पर जा रहा है जहां इसे छिपाने की जरूरत है ताकि आप "वास्तविक" कोड देख सकें, तो चिंताओं को अलग करने के लिए बेहतर तरीका ढूंढना बेहतर होगा।

यह अक्सर ट्रेसिंग/डीबग कोड के बारे में सच है। हाल ही में मैंने जो कुछ देखा है, वह अन्य कक्षाओं में डीबग स्टेटमेंट इंजेक्ट करने के लिए एओपी फ्रेमवर्क का उपयोग करना था। PostSharp पर एक नज़र डालें, example यह दर्शाता है कि वास्तव में ऐसा कैसे करें।

+0

क्या एओपी आसानी से उपलब्ध और विश्वसनीय बनने के लिए व्यापक रूप से पर्याप्त उपयोग की जाने वाली तकनीक बन गया है? इसके बारे में बहुत कुछ लिखा गया है लेकिन उदाहरण के लिए यह .NET ढांचे में नहीं बनाया गया है। मैं अनुमान लगा रहा हूं कि यह अभी तक पर्याप्त परिपक्व नहीं है। इसके अलावा, विधि ट्रेसिंग में क्या है (यानी केवल विधि प्रविष्टि और विधि निकास नहीं है)? – Mark

+0

कई पुस्तकालय हैं जो आपको .NET के लिए इस तरह की चीज करने देते हैं। यह ढांचे के हिस्से के रूप में नहीं भेजता है, लेकिन यह आवश्यक नहीं है कि इसका उपयोग न करें। मुझे नहीं लगता कि एओपी इस तरह की चीज के लिए एक रजत बुलेट है, लेकिन मुझे लगता है कि सिर्फ "छिपाने" बदसूरत कोड निश्चित रूप से गलत दृष्टिकोण है। – TarkaDaal

+0

विधि ट्रेसिंग के लिए, मैं तर्क दूंगा कि यदि आपकी विधियों के लिए पर्याप्त समय है, तो वे बहुत लंबे समय तक हो रहे हैं। – TarkaDaal

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