2011-04-05 9 views
13

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

public interface IObjectRepository 
{ 
    /// <summary> 
    /// Returns an object from the respository that contains the specified ID. 
    /// </summary> 
    Object GetObject(int Id); 
} 

public ObjectRepository : IObjectRepository 
{ 
    /// <summary> 
    /// Retrieves an object from the database that contains the specified ID. 
    /// </summary> 
    public Object GetObject(int Id) 
    { 
     Object myData = // Get from DB code. 
     return myData; 
    } 
} 

मैं सादगी की खातिर <param> शामिल नहीं किया।

क्या यह टिप्पणियों के लिए एक अच्छा अभ्यास है या क्या कोई अलग तरीका है? क्या मैं सिर्फ इंटरफ़ेस पर टिप्पणी छोड़ रहा हूं? किसी भी मदद की सराहना की है।

+0

संभव डुप्लिकेट (http://stackoverflow.com/questions/759703/comment-the-interface-implementation-or-both) –

+0

संभव डुप्लिकेट [इंटरफ़ेस, कार्यान्वयन या दोनों पर टिप्पणी करें?] (https://stackoverflow.com/questions/759703/comment-the-interface-implementation-or-both) – Olly

+0

lol यह प्रश्न यहां छह साल तक रहा है। बहुत ऊब गया? – Chev

उत्तर

10

आप टिप्पणी को एक अलग फ़ाइल में परिभाषित कर सकते हैं और फिर <include> टैग (see MSDN) का उपयोग कर सकते हैं। इस तरह, आप केवल एक बार टिप्पणी लिख सकते हैं, लेकिन इसे कई अलग-अलग स्थानों में प्रलेखन के रूप में शामिल कर सकते हैं (उदा। घोषणा और इंटरफ़ेस के कार्यान्वयन)।

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

+0

(मैंने इसे "संभावित डुप्लिकेट" उत्तर में नहीं देखा, इसलिए मैं इसे यहां पोस्ट कर रहा हूं, क्योंकि यह सी # विशिष्ट उत्तर है) –

+0

मुझे ' 'टैग से अनजान था। धन्यवाद। यदि दोनों को टिप्पणी करना ठीक है तो मुझे लगता है कि मैं कार्यान्वयन वर्ग और जेनेरिक लोगों पर इंटरफेस पर अधिक वर्बोज़ टिप्पणियां शामिल करना पसंद करता हूं (प्रश्न में मेरे उदाहरण के अनुसार)। मैं वास्तव में इसे दोहराने के रूप में नहीं देखता हूं और जैसा कि आपने कहा था, यह स्रोत में पठनीय है। हालांकि, मुझे यह बहुत पसंद है और शायद इसे अन्य परियोजनाओं में उपयोगी लगेगा। – Chev

+3

+1, लेकिन किसी ऐसे व्यक्ति के रूप में जो टिप्पणियां पसंद नहीं करता है, यह एक और भी बुरा विचार है। टिप्पणी के साथ मेरा सबसे बड़ा गोमांस है कि वे विशेष रूप से तारीख से बाहर होकर कार्यक्षमता अस्पष्ट कर सकते हैं। यह एक अतिरिक्त स्तर का अमूर्त बनाता है जिससे उन्हें अद्यतित रखना मुश्किल हो जाता है। –

2

दोनों टिप्पणी करने के लिए पसंद करते हैं। याद रखें कि इंटरफ़ेस विधि परिभाषा में उपभोक्ता को लागू करने या कॉल करने के लिए आवश्यक सभी जानकारी होनी चाहिए। कार्यान्वयन उपभोक्ताओं के साथ-साथ जहां तक ​​उपयोग करना है, चुनने के लिए प्रासंगिक है, इसलिए यह भी टिप्पणी करने के लिए उपयुक्त होना चाहिए।

नीचे की रेखा कम की बजाय अधिक स्पष्टता के पक्ष में गलती है।

0

दस्तावेज़ जो आप इंटरफेस करते हैं।

यदि आप कार्यान्वयन अधिक सामान्य या अधिक विशिष्ट उदा। व्यापक इनपुट या रिटर्न के साथ काम कर सकते हैं या अधिक विशिष्ट आउटपुट फेंकता है, फिर कार्यान्वयन पर दस्तावेज।

यदि कार्यान्वयन इंटरफ़ेस से भिन्न नहीं है, तो आप <inheritdoc /> का उपयोग कर सकते हैं।

संबंधित: Inherit documentation in C#?

की [? टिप्पणी इंटरफेस, कार्यान्वयन या दोनों]
संबंधित मुद्दे

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