Javadoc: package.html या package-info.java


230

पैकेज स्तर जावदोक टिप्पणी बनाने की कोशिश करते समय, पसंदीदा तरीका क्या है? आप क्या करते हैं?

package-info.java

  • पेशेवरों
    • नई
  • विपक्ष
    • किसी कक्षा का दुरुपयोग - कक्षाएं केवल टिप्पणियों के लिए नहीं, कोड के लिए होती हैं

package.html

  • पेशेवरों
    • HTML एक्सटेंशन का मतलब है इसका कोड नहीं
    • आईडीई / पाठ संपादकों में हाइलाइटिंग सिंटैक्स
  • विपक्ष
    • कोई नहीं?

मेरे लिए, मैंने हमेशा Package.html का उपयोग किया है। लेकिन मैं सोच रहा हूं कि क्या इसका सही विकल्प है।


46
package-info.javaइसमें [पैकेज] एनोटेशन हो सकता है - यह जरूरी नहीं कि सभी एपीआई डॉक्स हों।
टॉम हॉल्टिन -

52
मैं एक कक्षा के दुरुपयोग के रूप में पैकेज-info.java को अर्हता प्राप्त नहीं करूंगा। यह एक जावा सोर्स फाइल है (इसमें ".java" फाइल एक्सटेंशन है) लेकिन क्लास की फाइल नहीं है क्योंकि इसमें क्लास डिक्लेरेशन नहीं है। और, वास्तव में, इसमें एक वर्ग घोषणा नहीं हो सकती है क्योंकि "पैकेज-जानकारी" एक कानूनी वर्ग नाम नहीं है।
स्क्रबबी

19
Package.html के बजाय package-info.java का उपयोग करने का एक और कारण यह हो सकता है कि .java प्रलेखन का एक विशिष्ट आउटपुट स्वरूप नहीं देता है। उदाहरण के लिए आप लावाटेक्स के रूप में या एक पीडीएफ फाइल के रूप में जावदॉक का उत्पादन करना चाह सकते हैं। Javadoc संकलक कार्यान्वयन के आधार पर यह .html मामले में समस्याएं पैदा कर सकता है।
honeyp0t

3
वास्तव में @Scrubbie - हालांकि आपको सही होना चाहिए, मुझे लगता है कि आप वहां पैकेज-निजी कक्षाएं निर्दिष्ट कर सकते हैं। :-( मैं आपकी भावना से सहमत हूँ, हालांकि, package-info.javaJavadoc और एनोटेशन के लिए उपयोग करना किसी वर्ग का दुरुपयोग नहीं है।
mjaggard

2
@ जोनास देखें stackoverflow.com/a/14708381/751579 (मुझे पता है कि आपको यह समस्या 3 साल पहले थी, लेकिन शायद किसी और को अभी टिप की जरूरत है)
davidbak

जवाबों:


269

package-info.java: "यह फ़ाइल JDK 5.0 में नई है, और पैकेज.html पर पसंद की गई है।" - javadoc - Java API डॉक्युमेंटेशन जेनरेटर

परिशिष्ट: बड़ा अंतर पैकेज एनोटेशन लगता है । 7.4 पैकेज घोषणाओं में औचित्य के रूप में थोड़ा अधिक है ।

परिशिष्ट: एनोटेशन सुविधा का उल्लेख यहां और यहां भी किया गया है

परिशिष्ट: यह भी देखें कि क्या package-info.javaहै?


3
कोई विशेष कारण क्यों इसकी पसंद?
TheLQ

2
@ एलक्यू: मैं पैकेज एनोटेशन का अनुमान लगा रहा हूं, क्योंकि कंपाइलर के पास काम करने के लिए अधिक जानकारी है; अधिक ऊपर।
ट्रैशगॉड

3
पैकेज एनोटेशन मेरे लिए नया है, और इसके दायरे के कारण पैकेज-info.java के लिए एक अच्छा कारण लगता है।
स्टेकर

6
उत्तर को बस थोड़ा और संपादित करें: "पैकेज एनोटेशन" की व्याख्या करें - एक एनोटेशन जो पैकेज में सभी वर्गों के लिए लागू किया जाना है या अन्यथा पैकेज के रूप में समग्र रूप से। Tech.puredanger.com लिंक वास्तव में यह बताने के लिए एकमात्र था कि मुझे क्यों परवाह करनी चाहिए। उस ने कहा, यह एक अच्छा, सहायक लिंक है।
Roboprog

5
पैकेज-info.java का उपयोग करके आप {@link} और अन्य डॉक्सलेट का उपयोग कर सकते हैं। जब आप एक java.lang वर्ग को लिंक करते हैं, जब javadoc उत्पन्न होता है, तो आप स्वचालित रूप से {@link} प्राप्त करते हैं, जो आपके द्वारा उपयोग किए जा रहे jdk से मेल खाते हुए वर्ग के ऑनलाइन javadoc को इंगित करता है; जब आप रीफैक्टरिंग करते हैं तो ide भी गलत लिंक को दिखाने में मदद कर सकता है।
लुइगी आर। विगिग्नो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.