2009-04-15 15 views
7

के साथ एक्सएमएल दस्तावेज़ीकरण टिप्पणियां मैं XML Documentation Comments का उपयोग करके एक असेंबली दस्तावेज कर रहा हूं, जिसमेंफ़ाइल Sandcastle का उपयोग करके बनाई जाएगी।इंटरफेस और कार्यान्वयन कक्षा (एस)

मेरी असेंबली में विभिन्न इंटरफेस शामिल हैं, जिनमें से प्रत्येक एक वर्ग द्वारा लागू किया जाता है (मेरे परिदृश्य में ये डब्ल्यूसीएफ सेवाएं हैं)।

मैंने इंटरफेस में दस्तावेज जोड़ा है, क्या मेरे लिए लागू करने वाले वर्गों पर प्रासंगिक तरीकों को स्वचालित रूप से दस्तावेज करने का कोई तरीका है?

उत्तर

1

Sandcastle में ऐसे autodocumentation के लिए कोई समर्थन नहीं प्रतीत होता है। Sandcastle Help File Builder हालांकि एक कस्टम उत्तराधिकारी टैग लागू करता है।

SHFB साइट से:

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

दूसरा अद्यतन:this workitem के अनुसार, inheritdoc के लिए सैंडकैसल "समर्थन" SHFB उपकरण के माध्यम से है। मुझे लगता है कि नीचे की रेखा है, एसएचएफबी आपकी समस्या हल करता है।

1

GhostDoc जैसे टूल, जब आप इसका कीबोर्ड शॉर्टकट उपयोग करते हैं, तो कार्यान्वयन कक्षाओं पर दस्तावेज़ उत्पन्न कर सकते हैं। यह पूरी तरह से स्वचालित नहीं है, लेकिन बहुत अधिक कॉपी पेस्टिंग को रोकने में मदद कर सकता है।

शायद इसे एक स्क्रिप्ट के साथ स्वचालित किया जा सकता है।

+0

क्या GhostDoc संदर्भ xml फ़ाइल को संशोधित कर सकता है या क्या यह वास्तविक कोड को संशोधित करता है? यदि पूर्व सत्य है, तो इसका उपयोग Sandcastle के साथ किया जा सकता है ... –

+0

GhostDoc कोड –

1

एटमिनर उपयोग आपके लिए टिप्पणियां स्वत: उत्पन्न करेगा, और यह मौजूदा दस्तावेज को ओवरलोड और ओवरराइड बेस क्लास से उठाता है, जिससे आपको आवश्यक जानकारी को डुप्लिकेट करने में परेशानी का भार बचाता है। FiXml:

http://www.atomineer.com/AtomineerUtils.html

3

मैं एक बेहतर जवाब है।

GhostDoc \ AtomineerUtils साथ क्लोनिंग टिप्पणी निश्चित रूप से दृष्टिकोण काम कर रहा है, लेकिन यह महत्वपूर्ण नुकसान, उदा है .:

  • जब मूल टिप्पणी बदल जाता है (जो अक्सर विकास के दौरान होता है), अपने क्लोन नहीं है।
  • आप बड़ी मात्रा में डुप्लीकेट बना रहे हैं। यदि आप स्रोत कोड विश्लेषण टूल (जैसे टीम सिटी में डुप्लिकेट फाइंडर) का उपयोग कर रहे हैं, तो यह मुख्य रूप से आपकी टिप्पणियां पायेगा।

के रूप में यह उल्लेख किया गया था, वहाँ Sandcastle में <inheritdoc> टैग है, लेकिन यह FiXml की तुलना में कुछ नुकसान हैं:

  • सैंडकैसल संकलित HTML मदद फ़ाइलों का उत्पादन - यह .xml फ़ाइलें संशोधित नहीं करता है निकाली गई एक्सएमएल टिप्पणियां युक्त। लेकिन इन फ़ाइलों का उपयोग कई टूल, द्वारा किया जाता है जिसमें विजुअल स्टूडियो .NET में .NET Reflector और क्लास ब्राउज़र \ IntelliSense शामिल हैं। तो यदि आप केवल सैंडकैसल का उपयोग करते हैं, तो आपको वहां विरासत में दस्तावेज़ दिखाई नहीं देंगे।
  • Sandcastle का कार्यान्वयन कम शक्तिशाली है। जैसे <see ... copy="true" /> है।

अधिक जानकारी के लिए Sandcastle's <inheritdoc> description देखें।

FiXml का संक्षिप्त वर्णन: यह सी # \ विजुअल बेसिक .NET द्वारा उत्पादित XML दस्तावेज़ का एक पोस्ट प्रोसेसर है। इसे एमएसबिल्ड कार्य के रूप में लागू किया गया है, इसलिए इसे किसी भी परियोजना में एकीकृत करना काफी आसान है।

  • आधार वर्ग या इंटरफ़ेस से प्रलेखन इनहेरिट के लिए कोई समर्थन: यह कुछ कष्टप्रद इन भाषाओं में एक्सएमएल प्रलेखन लेखन से संबंधित मामलों संबोधित करते हैं। आईई। किसी भी ओवरराइड सदस्य के लिए एक प्रलेखन स्क्रैच से लिखा जाना चाहिए, हालांकि आमतौर पर यह कम से कम उस हिस्से के उत्तराधिकारी के लिए काफी वांछनीय है।
  • जैसे आमतौर पर इस्तेमाल किया प्रलेखन टेम्पलेट्स, की प्रविष्टि के लिए कोई समर्थन "इस प्रकार का सिंगलटन है -। अपने <see cref="Instance" /> संपत्ति का उपयोग इसके बारे में केवल उदाहरण के लिए", या "<CurrentType> वर्ग का एक नया उदाहरण आरंभीकृत।"

उल्लेख मुद्दों को हल करने के लिए निम्न अतिरिक्त एक्सएमएल टैग प्रदान की जाती हैं:

  • <inheritdoc />, <inherited /> टैग
  • <see cref="..." copy="..." /> attrib <see/> टैग में ute।

यहां its web page और download page है।

+0

लिंक को संशोधित करता है ... –

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