के रूप में पढ़ना है, मैं अपने विशाल 78,000 फ़ाइल C++ कोडबेस पर स्वचालित Doxygen रन सेट अप करने का प्रयास कर रहा हूं। यह मूल प्रकार और पदानुक्रम की जानकारी निकालने के साथ ठीक है, लेकिन मैं पहले से मौजूद दस्तावेज टिप्पणियों को चुनने के बारे में बेहतर बनाना चाहता हूं।Doxygen को डबल-स्लैश सी ++ टिप्पणियों को मार्कअप
वर्षों में जमा की गई अधिकांश टिप्पणियां सामान्य पैटर्न का पालन करती हैं, हालांकि डॉक्सिजन की अपेक्षा नहीं है। ज्यादातर वे, जैसे
// class description
class foo
{
// returns ascii art of a fruit
const char* apples(void);
// does something to some other thing
customtype_t baz(foo &other);
enum
{
kBADGER, // an omnivorous mustelid
kMUSHROOM, // tasty on pizza
kSNAKE, // oh no!
};
}
कौन सा डबल-घटा कर रहे हैं देखने के लिए ///
या //!
शैली टिप्पणी के बजाय कि Doxygen की उम्मीद है।
ऐसी सभी टिप्पणियों को खोजने और बदलने के माध्यम से बहुत सारी फाइलें हैं, और मेरे कई प्रोग्रामर अपने कोड में ट्रिपल-स्लेश देखने के लिए हिंसक रूप से एलर्जी हैं, इसलिए मैं डोक्सिजन को पढ़ने के लिए कुछ रास्ता ढूंढना चाहता हूं JavaDoc टिप्पणियों के रूप में सामान्य टिप्पणियां, जब वे सही जगह पर हों। क्या डॉक्सिजन //
///
के रूप में पढ़ने का कोई तरीका है?
मुझे ऐसा कोई कॉन्फ़िगरेशन पैरामीटर नहीं मिला, इसलिए मुझे लगता है कि मुझे किसी भी तरह इनपुट को बदलने की आवश्यकता होगी। सामान्य तौर पर शासन मैं का उपयोग करना चाहते है:
- अगर वहाँ सिर्फ एक टिप्पणी युक्त एक पंक्ति है, तुरंत एक समारोह/कक्षा/प्रकार/चर घोषणा से ठीक पहले, मान लें कि यह एक
///
टिप्पणी है। - अगर वहाँ एक घोषणा एक
//
टिप्पणी से एक ही लाइन पर पीछा किया है, यह एक///<
रूप में मानते हैं लेकिन मैं Doxygen इस नियम को पढ़ाने के बारे में जाने के लिए कैसे पता नहीं है। दो तरह से मैं के बारे में सोच सकते हैं:
- एक INPUT_FILTER, जो इनपुट सी पार्स ++ और जैसा कि ऊपर
///
रों में//
रों बदल देती है के रूप में एक कार्यक्रम लिखें। लेकिन इस प्रकार का परिवर्तन एक नियमित अभिव्यक्ति के रूप में करने के लिए बहुत जटिल है, और मैं वास्तव में एक अन्य सी ++ पार्सर में इनपुट फ़ीड करने के लिए एक पूर्ण उड़ा हुआ सी ++ पार्सर लिखना नहीं चाहता हूं! साथ ही, प्रत्येक फ़ाइल के लिए एक INPUT_FILTER प्रोग्राम को कताई करना डॉक्सिजन को अस्वीकार्य रूप से धीमा कर देता है: हमारे स्रोत में इसे चलाने में 30 मिनट से अधिक समय लगता है, और INPUT_FILTER जोड़ने में इसे छह घंटे लगते हैं। - उपरोक्त टिप्पणी नियमों को शामिल करने के लिए डॉक्सीजन स्रोत कोड संशोधित करें। यह अपरिचित कोड में काम की डरावनी मात्रा की तरह लगता है।
कोई अन्य विचार? नहीं आप कर सकते हैं:
निर्देशिकाओं के माध्यम से एक छोटी सी स्क्रिप्ट के बारे में क्या होता है, कोड में '//' (स्पेस के साथ) लगता है और इसे '///' में बदल देता है? साथ ही, यदि आपका कोडर '///' के खिलाफ एलर्जी है, तो उन्हें फ़ार्मेसी से कुछ प्राप्त करने के लिए कहें। – Xeo
आप डॉक्सिजन के पार्सर को संशोधित कर सकते हैं ताकि यह कुछ स्थानों में '////' के बजाय '//' का उपयोग कर सके। Doxygen सब के बाद opensource है। अक्सर पूछे जाने वाले प्रश्नों से: 'संभवत: src/scanner.l' tvak करना बहुत कठिन नहीं है। – rve
@Xeo यदि मैंने वास्तव में 78000 फ़ाइलों में चेक आउट, संशोधित और चेक किया है, तो किसी प्रारूप को टिप्पणियों को संशोधित करने के लिए बस कोई भी पसंद नहीं करेगा, मैं चाहता हूं दोपहर के भोजन से पहले निकाल दिया जाना चाहिए। – Crashworks