2012-11-11 22 views
57

मैं JavaDoc reference से अधिक ध्यान दिया है, और जब मैं @see (विभिन्न लिंक) के बीच मूल अंतर और {@inheritDoc} (सुपर क्लास JavaDoc टिप्पणी के निर्यात) को समझते हैं, मैं कैसे चीजें वास्तव में कार्यान्वित पर स्पष्टीकरण की जरूरत है।विवरण

ग्रहण आईडीई में जब मैं चुनें "उत्पन्न तत्व टिप्पणी" विरासत में मिला विधि के लिए (इंटरफ़ेस से, या toString() ओवरराइड, और आगे) यह टिप्पणी

/* (non-Javadoc) 
* @see SomeClass#someMethod() 
*/ 

निम्नलिखित बनाता है मैं उत्पादन करने के लिए आवश्यक कर रहा हूँ तो JavaDoc मुझे लगता है कि इसे वैसे ही रखते, {@inheritDoc} साथ @see बदल सकते हैं या में इसे चालू सदाशयी जैसे JavaDoc:

/** 
* {@inheritDoc} 
*/ 

और जब मुझे लगता है कि, मैं अभी भी वर्ग # मीटर रखना चाहिए करना विधि ध्वज?

उत्तर

92

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

दूसरा, यदि आपको जावाडोक का उत्पादन करने की आवश्यकता है, तो है 0 टिप्पणी को /** के साथ शुरू करने के लिए। अन्यथा, यह जावडोक नहीं है।

अंत में, यदि आप तो अधिभावी कर रहे हैं आप का उपयोग करना चाहिए @inheritDoc (यह मानते हुए आप करना चाहते मूल दस्तावेज़ में जोड़ने के लिए, के रूप में @see बताया गया है, अगर आप सिर्फ मूल डॉक्स डुप्लिकेट करना चाहते हैं, तो आप कुछ भी जरूरत नहीं है) । @see केवल अन्य संबंधित विधियों के संदर्भ में उपयोग किया जाना चाहिए।

+42

यदि आप मूल सुपरक्लास दस्तावेज में * जोड़ने * का इरादा रखते हैं तो आपको केवल '@ legislDoc'' का उपयोग करना चाहिए। यदि आप केवल इसे डुप्लिकेट करना चाहते हैं, तो जावाडोक पहले से ही ऐसा करेगा, यह नोट करते हुए कि सुपरक्लास दस्तावेज सबक्लास की ओवरराइड विधि पर लागू होता है क्योंकि सबक्लास ने कोई अतिरिक्त दस्तावेज प्रदान नहीं किया है। – seh

+2

मैंने दस्तावेज़ों को '@ legislDoc' के साथ और बिना उत्पन्न किया और कोई अंतर नहीं देखा। '@ उत्तराधिकारी' के बिना भी, मैं देखता हूं कि व्युत्पन्न वर्ग का जावाडोक बेस क्लास में जोड़ा गया था। – randominstanceOfLivingThing

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