2010-01-14 10 views
6

कोड:दस्तावेजीकरण चर

#include <stdio.h> 

/* 
* \var int iOne 
* \brief Integer 1 
*/ 
/* 
* \var int iTwo 
* \brief Integer 2 
*/ 
/* 
* \var int iThree 
* \brief Integer 3 
*/ 

/** 
* \brief Imitates a sheep. 
*/ 
void sheep(); 

/** 
* \brief Main function for test code 
*/ 
int main() { 
    int iOne, iTwo, iThree; 
    iOne = 1; 
    iTwo = 2; 
    iThree = 3; 
    printf("%d %d %d", iOne, iTwo, iThree); 

    return 0; 
} 

void sheep() { 
    printf("Meeeh"); 
} 

यह iOne, iTwo और iThree हालांकि कि मेरा इरादा था के लिए विवरण उत्पन्न नहीं करता है। मैं यह कैसे तय करुं?

उत्तर

8

आपको /** के साथ डॉक्सिजन टिप्पणियों के रूप में अपनी टिप्पणियां खोलने की आवश्यकता है।

यह इस है, हालांकि ऐसा करने के लिए स्पष्ट हो सकता है: इस तरह आप अपने दस्तावेज़ को तोड़ने के बिना चर का नाम बदल सकते हैं

int main() { 
    /** \brief Integer 1 */ 
    int iOne; 
    /** \brief Integer 2 */ 
    int iTwo; 
    /** \brief Integer 3 */ 
    int iThree; 
    /** ... and so on ... */ 
} 

और यह भी अन्य प्रोग्रामर जो क्योंकि अपने स्रोत कोड पढ़ने की जरूरत है पर आसान है चर के विवरण इसके बगल में स्थित है, फ़ाइल में कहीं और नहीं।

+0

सलाह के लिए धन्यवाद। आप अपने कोड को और अधिक समझने के बारे में सही हैं, लेकिन मैं जानना चाहता हूं कि मेरे कोड के अंदर \ var परिभाषा को सही तरीके से कैसे करना है। ऐसा करने का सही तरीका क्या होगा? – Pieter

+1

पीटर: सबसे पहले, मुझे लगता है कि आपको फ़ाइल को स्वयं दस्तावेज करने की आवश्यकता है ('/ ** @file * /') और फिर जैसा कि मैंने अपने उत्तर में कहा था, मुझे नहीं लगता कि डॉक्सिजन स्थानीय चर दस्तावेज़ों को दस्तावेज कर सकता है। – Joey

+2

मुझे नहीं लगता कि यह काम करेगा, क्योंकि वे स्थानीय चर हैं। आपको इस जवाब में सुधार करना चाहिए, क्योंकि अब यह भ्रामक है। –

13

डॉक्सिजन कक्षाओं और फ़ंक्शन हेडर दस्तावेज़ों या अन्य शब्दों में, इंटरफ़ेस दस्तावेज करने के लिए बनाया गया था। प्रलेखन के बारे में सोचें जो अन्य प्रोग्रामर आपके वर्गों और कार्यों का सही ढंग से उपयोग करने के लिए अध्ययन करते हैं। आपको अपने कार्यान्वयन को दस्तावेज करने के लिए DOxygen का उपयोग नहीं करना चाहिए। इसके बजाय, स्रोत में अपने स्थानीय चर // या /* */ के साथ दस्तावेज़ करें।

DOxygen में टिप्पणियां करने के कई तरीके हैं, जिनमें से कुछ उदाहरण (सदस्य चर के लिए) मैनुअल here में देखे जा सकते हैं। मैंने उन्हें नीचे कॉपी किया है।

int var; /*!< Detailed description after the member */ 

int var; /**< Detailed description after the member */ 

int var; //!< Detailed description after the member 
     //!< 

int var; ///< Detailed description after the member 
     ///< 

int var; //!< Brief description after the member 

int var; ///< Brief description after the member 
+0

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

+1

मैं प्रदान करता हूं स्निपेट वेरिएबल्स को दस्तावेज करने के तरीके दिखाता है जो "फ़ाइल, संरचना, संघ, कक्षा, या enum" के सदस्य हैं। चूंकि ओपी के 'iOne, iTwo, iThree' चर' मुख्य() 'के लिए आंतरिक हैं, वे किसी भी इंटरफ़ेस-स्तरीय दायरे में पहुंच योग्य नहीं हैं और इसलिए, Doxygen द्वारा दस्तावेज नहीं किया जाएगा। एक अलग तरीका रखें: डॉक्सिजन, दस्तावेज उत्पन्न नहीं करता है, और यह नहीं बताता कि 'i'' कथन में 'int i = 0; i <10; i ++)' क्या है, क्योंकि 'i' का दायरा समझने के लिए इसके लिए बहुत सीमित है। – Richard

+1

अब मैं समझता हूं। धन्यवाद! – Zimano