जावाडोक: Difference between revisions

From Vigyanwiki
(Created page with "{{short description|Documentation generator for Java}} {{manual|date=May 2018}} Javadoc (मूल रूप से JavaDoc का आवरण)<ref>Now cased as 'Javadoc'. Se...")
 
m (6 revisions imported from alpha:जावाडोक)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{short description|Documentation generator for Java}}
{{short description|Documentation generator for Java}}
{{manual|date=May 2018}}
'''जावाडोक''' जावा सोर्स कोड से [[HTML|एचटीएमएल]] प्रारूप में एपीआई प्रलेख तैयार करने के लिए जावा लेंग्वेज (अब [[Index.php?title=ओरेकल कॉर्पोरेशन|ओरेकल कॉर्पोरेशन]] के स्वामित्व में) के लिए सन माइक्रोसिस्टम्स द्वारा बनाया गया एक प्रलेख जनरेटर है। एचटीएमएल प्रारूप का उपयोग संबंधित प्रलेखों को एक साथ हाइपरलिंक करने में सक्षम होने की सुविधा जोड़ने के लिए किया जाता है।<ref>Now cased as 'Javadoc'. See [http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html]. Originally cased as 'JavaDoc'. See [http://www.artima.com/intv/jackpot3.html]</ref> <ref>{{cite web |url=http://agile.csc.ncsu.edu/SEMaterials/tutorials/javadoc/ |title=जावाडोक|website=agile.csc.ncsu.edu |access-date=12 January 2022 |archive-url=https://web.archive.org/web/20170613233020/http://agile.csc.ncsu.edu/SEMaterials/tutorials/javadoc/ |archive-date=13 June 2017 |url-status=dead}}</ref>
Javadoc (मूल रूप से JavaDoc का आवरण)<ref>Now cased as 'Javadoc'. See [http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html]. Originally cased as 'JavaDoc'. See [http://www.artima.com/intv/jackpot3.html]</ref> [[जावा (प्रोग्रामिंग भाषा)]] स्रोत कोड से [[HTML]] प्रारूप में [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] दस्तावेज़ तैयार करने के लिए जावा (प्रोग्रामिंग भाषा) (अब [[Oracle Corporation]] के स्वामित्व में) के लिए [[सन माइक्रोसिस्टम्स]] द्वारा बनाया गया एक दस्तावेज़ जनरेटर है। HTML प्रारूप का उपयोग संबंधित दस्तावेज़ों को एक साथ [[हाइपरलिंक]] करने में सक्षम होने की सुविधा जोड़ने के लिए किया जाता है।<ref>{{cite web |url=http://agile.csc.ncsu.edu/SEMaterials/tutorials/javadoc/ |title=जावाडोक|website=agile.csc.ncsu.edu |access-date=12 January 2022 |archive-url=https://web.archive.org/web/20170613233020/http://agile.csc.ncsu.edu/SEMaterials/tutorials/javadoc/ |archive-date=13 June 2017 |url-status=dead}}</ref>
प्रलेख टिप्पणी प्रारूप<ref>{{cite web|url = http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/javadoc.html|title = javadoc - जावा एपीआई दस्तावेज़ीकरण जेनरेटर|access-date = 2011-09-30|publisher = [[Sun Microsystems]]}}.</ref> जावाडोक द्वारा उपयोग किया जाने वाला जावा क्लासेस के प्रलेखीकरण के लिए वास्तविक उद्योग मानक है। कुछ एकीकृत विकास वातावरण,<ref>[https://www.jetbrains.com/idea/ IntelliJ IDEA], [http://www.netbeans-blog.org/netbeans-ide/generating-javadoc-for-a-project-in-netbeans-ide.html NetBeans] {{Webarchive|url=https://web.archive.org/web/20170405230224/http://www.netbeans-blog.org/netbeans-ide/generating-javadoc-for-a-project-in-netbeans-ide.html |date=2017-04-05 }} and [http://www.eclipse.org/ Eclipse]</ref> [[IntelliJ IDEA]], [[Index.php?title=नेटबीनस|नेटबीनस]] और इक्लिप्स (सॉफ़्टवेयर) की तरह, स्वचालित रूप से जावाडोक टेम्पलेट उत्पन्न करते हैं। कई फ़ाइल संपादक जावाडोक सोर्स तैयार करने में उपयोगकर्ता की सहायता करते हैं और प्रोग्रामर के लिए आंतरिक संदर्भ के रूप में जावाडोक जानकारी का उपयोग करते हैं।
दस्तावेज़ टिप्पणी प्रारूप<ref>{{cite web|url = http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/javadoc.html|title = javadoc - जावा एपीआई दस्तावेज़ीकरण जेनरेटर|access-date = 2011-09-30|publisher = [[Sun Microsystems]]}}.</ref> Javadoc द्वारा उपयोग किया जाने वाला जावा कक्षाओं के दस्तावेज़ीकरण के लिए वास्तविक उद्योग मानक है। कुछ एकीकृत विकास वातावरण,<ref>[https://www.jetbrains.com/idea/ IntelliJ IDEA], [http://www.netbeans-blog.org/netbeans-ide/generating-javadoc-for-a-project-in-netbeans-ide.html NetBeans] {{Webarchive|url=https://web.archive.org/web/20170405230224/http://www.netbeans-blog.org/netbeans-ide/generating-javadoc-for-a-project-in-netbeans-ide.html |date=2017-04-05 }} and [http://www.eclipse.org/ Eclipse]</ref> [[IntelliJ IDEA]], [[NetBeans]] और Eclipse (सॉफ़्टवेयर) की तरह, स्वचालित रूप से Javadoc टेम्पलेट उत्पन्न करते हैं। कई फ़ाइल संपादक Javadoc स्रोत तैयार करने में उपयोगकर्ता की सहायता करते हैं और प्रोग्रामर के लिए आंतरिक संदर्भ के रूप में Javadoc जानकारी का उपयोग करते हैं।


जावाडोक [[डॉकलेट्स]] और टैगलेट बनाने के लिए एक एपीआई भी प्रदान करता है, जो उपयोगकर्ताओं को जावा एप्लिकेशन की संरचना का विश्लेषण करने की अनुमति देता है। इस प्रकार JDiff एक एपीआई के दो संस्करणों के बीच क्या बदलाव हुआ इसकी रिपोर्ट तैयार कर सकता है।
जावाडोक [[डॉकलेट्स]] और टैगलेट बनाने के लिए एक एपीआई भी प्रदान करता है, जो उपयोगकर्ताओं को जावा एप्लिकेशन की संरचना का विश्लेषण करने की अनुमति देता है। इस प्रकार JDiff एक एपीआई के दो संस्करणों के बीच क्या बदलाव हुआ इसकी रिपोर्ट तैयार कर सकता है।


Javadoc जावा में प्रदर्शन को प्रभावित नहीं करता है क्योंकि संकलन के समय सभी टिप्पणियाँ हटा दी जाती हैं। टिप्पणियाँ और Javadoc लिखना कोड को बेहतर ढंग से समझने और इस प्रकार इसे बेहतर बनाए रखने के लिए है।
जावाडोक जावा में प्रदर्शन को प्रभावित नहीं करता है क्योंकि संकलन के समय सभी टिप्पणियाँ हटा दी जाती हैं। टिप्पणियाँ और जावाडोक लिखना कोड को बेहतर ढंग से समझने और इस प्रकार इसे बेहतर बनाए रखने के लिए है।


== इतिहास ==
== इतिहास ==
Javadoc एक प्रारंभिक जावा भाषा दस्तावेज़ीकरण जनरेटर था।<ref>{{cite web|url = http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html|title = Javadoc टूल के लिए दस्तावेज़ टिप्पणियाँ कैसे लिखें|access-date = 2011-09-30|publisher = [[Sun Microsystems]]}}.</ref> दस्तावेज़ीकरण जनरेटर के उपयोग से पहले तकनीकी लेखकों का उपयोग करने की प्रथा थी जो आम तौर पर सॉफ़्टवेयर के लिए केवल स्टैंडअलोन दस्तावेज़ लिखते थे,<ref>{{cite web|url=http://www.artima.com/intv/jackpot3.html  
जावाडोक एक प्रारंभिक जावा लेंग्वेज प्रलेखीकरण जनरेटर था।<ref>{{cite web|url = http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html|title = Javadoc टूल के लिए दस्तावेज़ टिप्पणियाँ कैसे लिखें|access-date = 2011-09-30|publisher = [[Sun Microsystems]]}}.</ref> प्रलेखीकरण जनरेटर के उपयोग से पहले तकनीकी लेखकों का उपयोग करने की प्रथा थी जो सामान्यत: सॉफ़्टवेयर के लिए केवल स्टैंडअलोन प्रलेख लिखते थे,<ref>{{cite web|url=http://www.artima.com/intv/jackpot3.html  
|title=Visualizing with JavaDoc  
|title=Visualizing with JavaDoc  
|first1=Bill| last1=Venners| first2=James| last2=Gosling | display-authors=etal | publisher=artima.com
|first1=Bill| last1=Venners| first2=James| last2=Gosling | display-authors=etal | publisher=artima.com
|date=2003-07-08
|date=2003-07-08
|access-date=2013-01-19
|access-date=2013-01-19
|quote=When I did the original JavaDoc in the original compiler, even the people close around me pretty soundly criticized it. And it was interesting, because the usual criticism was: a good tech writer could do a lot better job than the JavaDoc does. And the answer is, well, yeah, but how many APIs are actually documented by good tech writers? And how many of them actually update their documentation often enough to be useful?}}</ref> लेकिन इस दस्तावेज़ को सॉफ़्टवेयर के साथ समन्वयित रखना बहुत कठिन था।
|quote=When I did the original JavaDoc in the original compiler, even the people close around me pretty soundly criticized it. And it was interesting, because the usual criticism was: a good tech writer could do a lot better job than the JavaDoc does. And the answer is, well, yeah, but how many APIs are actually documented by good tech writers? And how many of them actually update their documentation often enough to be useful?}}</ref> लेकिन इस प्रलेख को सॉफ़्टवेयर के साथ समन्वयित रखना बहुत कठिन था।


जावा द्वारा पहली रिलीज़ के बाद से जावाडोक का उपयोग किया गया है, और आमतौर पर [[जावा डेवलपमेंट किट]] की हर नई रिलीज़ पर इसे अपडेट किया जाता है। <code>@field</code> ई> जावाडोक के सिंटैक्स का अनुकरण अन्य भाषाओं के लिए दस्तावेज़ीकरण प्रणालियों द्वारा किया गया है, जिसमें क्रॉस-लैंग्वेज [[डॉक्सिजन]], जावास्क्रिप्ट के लिए [[ जेएसडॉक ]] सिस्टम और ऐप्पल के [[हेडरडॉक]] शामिल हैं।
जावा द्वारा पहली रिलीज़ के बाद से जावाडोक का उपयोग किया गया है, और सामान्यत: [[जावा डेवलपमेंट किट]] की हर नई रिलीज़ पर इसे अपडेट किया जाता है। <code>@फील्ड</code> जावाडोक के सिंटैक्स का अनुकरण अन्य लेंग्वेजओं के लिए प्रलेखीकरण प्रणालियों द्वारा किया गया है, जिसमें क्रॉस-लैंग्वेज [[डॉक्सिजन]], जावास्क्रिप्ट के लिए [[ जेएसडॉक ]] सिस्टम और ऐप्पल के [[हेडरडॉक]] सम्मलित हैं।


== तकनीकी वास्तुकला ==
== तकनीकी वास्तुकला ==


=== Javadoc टिप्पणी की संरचना ===
=== जावाडोक टिप्पणी की संरचना ===
Javadoc टिप्पणी को मानक मल्टी-लाइन टिप्पणी टैग द्वारा कोड से अलग किया जाता है <code>/*</code> और <code>*/</code>. आरंभिक टैग (जिसे आरंभ-टिप्पणी सीमांकक कहा जाता है) में एक अतिरिक्त तारांकन चिह्न होता है <code>/**</code>.
जावाडोक टिप्पणी को मानक बहु लाइन टिप्पणी टैग द्वारा कोड से अलग किया जाता है <code>/*</code> और <code>*/</code>. आरंभिक टैग (जिसे आरंभ-टिप्पणी सीमांकक कहा जाता है) में एक अतिरिक्त तारांकन चिह्न होता है <code>/**</code>.


# पहला पैराग्राफ प्रलेखित विधि का विवरण है।
# पहला पैराग्राफ प्रलेखित विधि का विवरण है।
Line 31: Line 30:


=== जावाडोक का अवलोकन ===
=== जावाडोक का अवलोकन ===
दस्तावेज़ टिप्पणियाँ लिखने की मूल संरचना उन्हें अंदर एम्बेड करना है
प्रलेख टिप्पणियाँ लिखने की मूल संरचना उन्हें अंदर एम्बेड करना है।
<code>/** ... */</code>. Javadoc टिप्पणी ब्लॉक आइटम के ठीक ऊपर स्थित है
<code>/** ... */</code>. जावाडोक टिप्पणी ब्लॉक आइटम के ठीक ऊपर स्थित है
बिना किसी अलग नई लाइन के। ध्यान दें कि कोई भी आयात विवरण वर्ग घोषणा से पहले होना चाहिए। आमतौर पर वर्ग घोषणा
बिना किसी अलग नई लाइन के ध्यान दें कि कोई भी आयात विवरण वर्ग घोषणा से पहले होना चाहिए। वर्ग घोषणा में सामान्यत: सम्मलित होते हैं:
रोकना:


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Line 52: Line 50:
विवरण जो कई अनुच्छेदों तक फैला हो सकता है। विवरण
विवरण जो कई अनुच्छेदों तक फैला हो सकता है। विवरण
यहाँ पूर्ण रूप से समझाया जा सकता है। यह अनुभाग है
यहाँ पूर्ण रूप से समझाया जा सकता है। यह अनुभाग है
वैकल्पिक। अंत में, स्वीकृत इनपुट को सूचीबद्ध करने के लिए (3) एक टैग अनुभाग है
वैकल्पिक, अंत में, स्वीकृत इनपुट को सूचीबद्ध करने के लिए (3) एक टैग अनुभाग है
विधि के तर्क और वापसी मान। ध्यान दें कि सभी
विधि के तर्क और वापसी मान ध्यान दें कि सभी
Javadoc को HTML के रूप में माना जाता है इसलिए एकाधिक पैराग्राफ अनुभाग
जावाडोक को एचटीएमएल के रूप में माना जाता है इसलिए एकाधिक पैराग्राफ अनुभाग
द्वारा अलग किए गए हैं<code>&lt;p&gt;</code>पैराग्राफ़ ब्रेक टैग.
द्वारा अलग किए गए हैं<code>&lt;p&gt;</code>पैराग्राफ़ ब्रेक टैग।


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Line 74: Line 72:
}
}
</syntaxhighlight>
</syntaxhighlight>
चर को अपवाद के साथ विधियों के समान ही प्रलेखित किया जाता है
वेरीयेबल को अपवाद के साथ विधियों के समान ही प्रलेखित किया जाता है
भाग (3) हटा दिया गया है। यहां वेरिएबल में केवल लघु शामिल है
भाग (3) हटा दिया गया है। यहां वेरिएबल में केवल लघु सम्मलित है
विवरण:
विवरण:


Line 84: Line 82:
private int debug = 0;
private int debug = 0;
</syntaxhighlight>
</syntaxhighlight>
ध्यान दें कि यह अनुशंसित नहीं है<ref>{{cite news|title=Java Platform, Standard Edition Tools Reference for Oracle JDK on Solaris, Linux, and OS X, Release 8. Section "Multiple-Field Declarations"|url=https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#JSSOR650|access-date=20 Dec 2017}}</ref> एक दस्तावेज़ीकरण टिप्पणी में एकाधिक चर परिभाषित करने के लिए। ऐसा इसलिए है क्योंकि Javadoc प्रत्येक वेरिएबल को पढ़ता है और उन्हें समान दस्तावेज़ टिप्पणी के साथ जेनरेट किए गए HTML पृष्ठ पर अलग-अलग रखता है जिसे सभी फ़ील्ड के लिए कॉपी किया जाता है।
ध्यान दें कि यह अनुशंसित नहीं है<ref>{{cite news|title=Java Platform, Standard Edition Tools Reference for Oracle JDK on Solaris, Linux, and OS X, Release 8. Section "Multiple-Field Declarations"|url=https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javadoc.html#JSSOR650|access-date=20 Dec 2017}}</ref> एक प्रलेखीकरण टिप्पणी में एकाधिक वेरीयेबल परिभाषित करने के लिए है। ऐसा इसलिए है क्योंकि जावाडोक प्रत्येक वेरिएबल को पढ़ता है और उन्हें समान प्रलेख टिप्पणी के साथ जेनरेट किए गए एचटीएमएल पृष्ठ पर अलग-अलग रखता है जिसे सभी फ़ील्ड के लिए कॉपी किया जाता है।


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Line 92: Line 90:
public int x, y;      // AVOID
public int x, y;      // AVOID
</syntaxhighlight>
</syntaxhighlight>
इसके बजाय, प्रत्येक चर को अलग से लिखने और दस्तावेज़ित करने की अनुशंसा की जाती है:
इसके अतिरिक्त, प्रत्येक वेरीयेबल को अलग से लिखने और प्रलेखित करने की अनुशंसा की जाती है:


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Line 107: Line 105:




=== Javadoc टैग की तालिका ===
=== जावाडोक टैग की तालिका ===
कुछ उपलब्ध Javadoc टैग<ref>[https://docs.oracle.com/en/java/javase/13/docs/specs/javadoc/doc-comment-spec.html JavaSE 13 Documentation Comment Specification]</ref> नीचे दी गई तालिका में सूचीबद्ध हैं:
कुछ उपलब्ध जावाडोक टैग<ref>[https://docs.oracle.com/en/java/javase/13/docs/specs/javadoc/doc-comment-spec.html JavaSE 13 Documentation Comment Specification]</ref> नीचे दी गई तालिका में सूचीबद्ध हैं:


{| class="wikitable"
{| class="wikitable"
!Tag & Parameter
!टैग एवं पैरामीटर
!Usage
!प्रयोग
!Applies to
!लागू होता है
!Since
!तब से
|-
|-
|'''@author''' ''John Smith''|| Describes an author. || Class, Interface, Enum ||
|'''@author''' ''जॉन स्मिथ''|| एक लेखक का वर्णन करता है। || क्लास, इंटरफ़ेस, एनम ||
|-
|-
|{'''@docRoot'''}
|{'''@docRoot'''}
|Represents the relative path to the generated document's root directory from any generated page.
|किसी भी जेनरेट किए गए पेज से जेनरेट किए गए प्रलेख की रूट निर्देशिका के सापेक्ष पथ का प्रतिनिधित्व करता है।
|Class, Interface, Enum, Field, Method
|क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड
|
|
|-
|-
|'''@version''' ''version''|| Provides software version entry. Max one per Class or Interface. || Class, Interface, Enum ||
|'''@version''' ''संस्करण''|| सॉफ़्टवेयर संस्करण प्रविष्टि प्रदान करता है. प्रति क्लास या इंटरफ़ेस अधिकतम एक। || क्लास, इंटरफ़ेस, एनम ||
|-
|-
|'''@since''' ''since-text''|| Describes when this functionality has first existed. || Class, Interface, Enum, Field, Method||
|'''@since''' ''सिन्स-टेक्सट''|| वर्णन करता है कि यह कार्यक्षमता पहली बार कब अस्तित्व में थी। || क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड||
|-
|-
|'''@see''' ''reference''|| Provides a link to other element of documentation. || Class, Interface, Enum, Field, Method||
|'''@see''' ''संदर्भ''|| प्रलेखीकरण के अन्य तत्वों के लिए एक लिंक प्रदान करता है। || क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड||
|-
|-
|'''@param''' ''name description''|| Describes a method parameter. || Method||
|'''@param''' ''नाम विवरण''|| एक मैथड पैरामीटर का वर्णन करता है। || मैथड||
|-
|-
|'''@return''' ''description''|| Describes the return value. || Method||
|'''@return''' ''विवरण''|| वापसी मान का वर्णन करता है. || मैथड||
|-
|-
|'''@exception''' ''classname description''<br />'''@throws''' ''classname description''|| Describes an exception that may be thrown from this method.|| Method||
|'''@exception''' ''क्लासनाम विवरण''<br />'''@throws''' ''क्लासनाम विवरण''|| एक अपवाद का वर्णन करता है जिसे इस गणित से निकाला जा सकता है।|| मैथड||
|-
|-
|'''@deprecated''' ''description''|| Describes an outdated method. || Class, Interface, Enum, Field, Method||
|'''@deprecated''' ''विवरण''|| एक पुराने मैथड का वर्णन करता है। || क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड||
|-
|-
|{'''@inheritDoc'''}||Copies the description from the overridden method.||Overriding Method||1.4.0
|{'''@inheritDoc'''}||ओवरराइड मैथड से विवरण की प्रतिलिपि बनाएँ।||Overriding मैथड||1.4.0
|-
|-
|{'''@link''' ''<var>reference</var>''}||Link to other symbol.||Class, Interface, Enum, Field, Method||
|{'''@link''' ''<var>संदर्भ</var>''}||अन्य प्रतीक से लिंक करें।||क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड||
|-
|-
|{'''@linkplain''' ''<var>reference</var>''}
|{'''@linkplain''' ''<var>संदर्भ</var>''}
|Identical to {@link}, except the link's label is displayed in plain text than code font.
|{@link} के समान, सिवाय इसके कि लिंक का लेबल कोड फ़ॉन्ट की तुलना में सादे पाठ में प्रदर्शित होता है।
|Class, Interface, Enum, Field, Method
|क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड
|
|
|-
|-
|{'''@value''' ''#STATIC_FIELD''}|| Return the value of a static field.||Static Field||1.4.0
|{'''@value''' ''#स्टैटिक_फील्ड''}|| स्थैतिक फ़ील्ड का मान लौटाएँ।||स्टैटिक फील्ड||1.4.0
|-
|-
|{'''@code''' ''literal''}|| Formats literal text in the code font. It is equivalent to <nowiki><code>{@literal}</code></nowiki>. || Class, Interface, Enum, Field, Method||1.5.0
|{'''@code''' ''लिटरल''}|| कोड फ़ॉन्ट में शाब्दिक पाठ को प्रारूपित करता है। यह के बराबर है <nowiki><code>{@लिटरल}</code></nowiki>. || क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड||1.5.0
|-
|-
|{'''@literal''' ''literal''}|| Denotes literal text. The enclosed text is interpreted as not containing HTML markup or nested javadoc tags. || Class, Interface, Enum, Field, Method||1.5.0
|{'''@लिटरल''' ''लिटरल''}|| शाब्दिक पाठ को दर्शाता है. संलग्न पाठ की व्याख्या इस प्रकार की गई है कि इसमें एचटीएमएल मार्कअप या नेस्टेड जावाडोक टैग सम्मलित नहीं हैं। || क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड||1.5.0
|-
|-
|{'''@serial''' ''literal''}
|{'''@serial''' ''लिटरल''}
|Used in the doc comment for a default serializable field.
|डिफ़ॉल्ट क्रमबद्ध फ़ील्ड के लिए प्रलेख टिप्पणी में उपयोग किया जाता है।
|Field
|फील्ड
|
|
|-
|-
|{'''@serialData''' ''literal''}
|{'''@serialData''' ''लिटरल''}
|Documents the data written by the writeObject( ) or writeExternal( ) methods.
|राइटऑब्जेक्ट () या राइटएक्सटर्नल () मैथड द्वारा लिखे गए डेटा का दस्तावेजीकरण करें।
|Field, Method
|फील्ड, मैथड
|
|
|-
|-
|{'''@serialField''' ''literal''}
|{'''@serialफील्ड''' ''लिटरल''}
|Documents an ObjectStreamField component.
|एक ऑब्जेक्टस्ट्रीमफ़ील्ड घटक का प्रलेखीकरण।
|Field
|फील्ड
|
|
|}
|}
Line 171: Line 169:
=== उदाहरण ===
=== उदाहरण ===


किसी विधि का दस्तावेज़ीकरण करने के लिए Javadoc का एक उदाहरण इस प्रकार है। ध्यान दें कि इस उदाहरण में रिक्ति और वर्णों की संख्या कन्वेंशन स्थिति के अनुसार है।
किसी विधि का प्रलेखीकरण करने के लिए जावाडोक का एक उदाहरण इस प्रकार है। ध्यान दें कि इस उदाहरण में रिक्ति और वर्णों की संख्या कन्वेंशन स्थिति के अनुसार है।
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
/**
/**
Line 201: Line 199:


== डॉकलेट्स ==
== डॉकलेट्स ==
डॉकलेट प्रोग्राम जावा (प्रोग्रामिंग भाषा) में लिखे कोड से दस्तावेज़ तैयार करने के लिए जावाडोक टूल के साथ काम करते हैं।<ref>{{cite web | url=https://docs.oracle.com/javase/8/docs/technotes/guides/javadoc/doclet/overview.html | title=Doclet Overview }}</ref>
डॉकलेट प्रोग्राम जावा (प्रोग्रामिंग लेंग्वेज) में लिखे कोड से प्रलेख तैयार करने के लिए जावाडोक टूल के साथ काम करते हैं।<ref>{{cite web | url=https://docs.oracle.com/javase/8/docs/technotes/guides/javadoc/doclet/overview.html | title=Doclet Overview }}</ref>
डॉकलेट जावा प्रोग्रामिंग भाषा में लिखे गए हैं और इसका उपयोग करते हैं {{Javadoc:SE|jdk/javadoc/doclet|name=Doclet API|module=jdk.javadoc}} को:
डॉकलेट जावा प्रोग्रामिंग लेंग्वेज में लिखे गए हैं और इसका उपयोग करते हैं {{Javadoc:SE|jdk/javadoc/doclet|name=Doclet API|module=jdk.javadoc}} को:
* दस्तावेज़ में कौन सी सामग्री शामिल करनी है उसका चयन करें
* प्रलेख में कौन सी सामग्री सम्मलित करनी है उसका चयन करें।
* सामग्री की प्रस्तुति को प्रारूपित करें
* सामग्री की प्रस्तुति को प्रारूपित करें।
* वह फ़ाइल बनाएं जिसमें दस्तावेज़ शामिल हो वह {{Javadoc:SE|jdk/javadoc/doclet|StandardDoclet|module=jdk.javadoc}}[https://docs.oracle.com/javase/9/javadoc/javadoc-command.htm#JSJAV-GUID-04BFA924-7C45-4E9C-91D1-0B77D97E65AB] Javadoc के साथ शामिल होकर फ्रेम-आधारित HTML फ़ाइलों के रूप में [[API]] दस्तावेज़ तैयार करता है। वेब पर कई गैर-मानक दस्तावेज़ उपलब्ध हैं {{Citation needed|reason=Is this still true today?|date=December 2017}}, अक्सर मुफ़्त में। इनका उपयोग इसके लिए किया जा सकता है:
* वह फ़ाइल बनाएं जिसमें प्रलेख सम्मलित हो वह {{Javadoc:SE|jdk/javadoc/doclet|StandardDoclet|module=jdk.javadoc}}[https://docs.oracle.com/javase/9/javadoc/javadoc-command.htm#JSJAV-GUID-04BFA924-7C45-4E9C-91D1-0B77D97E65AB] जावाडोक के साथ सम्मलित होकर फ्रेम-आधारित एचटीएमएल फ़ाइलों के रूप में [[Index.php?title=एपीआई|एपीआई]] प्रलेख तैयार करता है। वेब पर कई गैर-मानक प्रलेख उपलब्ध हैं {{Citation needed|reason=Is this still true today?|date=December 2017}}, अधिकांशत: मुफ़्त में। इनका उपयोग इसके लिए किया जा सकता है।
* अन्य गैर-एपीआई प्रकार के दस्तावेज़ बनाएं
* अन्य गैर-एपीआई प्रकार के प्रलेख बनाएं।
* दस्तावेज़ को [[पीडीएफ]] जैसे अन्य गैर-एचटीएमएल फ़ाइल प्रकारों में आउटपुट करें
* प्रलेख को [[पीडीएफ]] जैसे अन्य गैर-एचटीएमएल फ़ाइल प्रकारों में आउटपुट करें।
* खोज जैसी अतिरिक्त सुविधाओं के साथ या जावा कक्षाओं से उत्पन्न एम्बेडेड [[एकीकृत मॉडलिंग भाषा]] आरेखों के साथ दस्तावेज़ को HTML के रूप में आउटपुट करें
* खोज जैसी अतिरिक्त सुविधाओं के साथ या जावा क्लासेस से उत्पन्न एम्बेडेड [[एकीकृत मॉडलिंग भाषा|एकीकृत मॉडलिंग लेंग्वेज]] आरेखों के साथ प्रलेख को एचटीएमएल के रूप में आउटपुट करें।


== यह भी देखें ==
== यह भी देखें ==
* [[दस्तावेज़ीकरण जनरेटर की तुलना]]
* [[दस्तावेज़ीकरण जनरेटर की तुलना|प्रलेखीकरण जनरेटर की तुलना]]
* सी शार्प सिंटैक्स#एक्सएमएल डॉक्यूमेंटेशन सिस्टम|नेट एक्सएमएल डॉक्यूमेंटेशन टिप्पणियाँ
* सी शार्प सिंटैक्स#एक्सएमएल डॉक्यूमेंटेशन सिस्टम|नेट एक्सएमएल डॉक्यूमेंटेशन टिप्पणियाँ।


== संदर्भ ==
== संदर्भ ==
Line 219: Line 217:


== बाहरी संबंध ==
== बाहरी संबंध ==
* [https://docs.oracle.com/en/java/javase/13/javadoc/javadoc.html Java Platform, Standard Edition Javadoc Guide]
* [https://docs.oracle.com/en/java/javase/13/javadoc/javadoc.html Java Platform, Standard Edition जावाडोक Guide]
* [https://www.jcp.org/en/jsr/detail?id=260 JSR 260] Javadoc Tag Technology Update [[Java Specification Request]] (defines new Javadoc tags)
* [https://www.jcp.org/en/jsr/detail?id=260 JSR 260] जावाडोक Tag Technology Update [[Java Specification Request]] (defines new जावाडोक tags)
* [https://web.archive.org/web/20130927133806/https://today.java.net/pub/a/today/2004/08/26/ashkelon.html Improve on Javadoc with ashkelon]
* [https://web.archive.org/web/20130927133806/https://today.java.net/pub/a/today/2004/08/26/ashkelon.html Improve on जावाडोक with ashkelon]
* [http://globaldocs.info/ Globaldocs: A viewer to browse multiple Javadocs simultaneously.]
* [http://globaldocs.info/ Globaldocs: A viewer to browse multiple जावाडोकs simultaneously.]
* [https://javadoc.allimant.org/ Various Java documentations converted to Windows Help format]
* [https://javadoc.allimant.org/ Various Java documentations converted to Windows Help format]
[[Category: मुफ़्त दस्तावेज़ीकरण जेनरेटर]] [[Category: जावा विकास उपकरण]]  
[[Category: मुफ़्त दस्तावेज़ीकरण जेनरेटर]] [[Category: जावा विकास उपकरण]]  
Line 230: Line 228:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 25/07/2023]]
[[Category:Created On 25/07/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 07:26, 28 September 2023

जावाडोक जावा सोर्स कोड से एचटीएमएल प्रारूप में एपीआई प्रलेख तैयार करने के लिए जावा लेंग्वेज (अब ओरेकल कॉर्पोरेशन के स्वामित्व में) के लिए सन माइक्रोसिस्टम्स द्वारा बनाया गया एक प्रलेख जनरेटर है। एचटीएमएल प्रारूप का उपयोग संबंधित प्रलेखों को एक साथ हाइपरलिंक करने में सक्षम होने की सुविधा जोड़ने के लिए किया जाता है।[1] [2] प्रलेख टिप्पणी प्रारूप[3] जावाडोक द्वारा उपयोग किया जाने वाला जावा क्लासेस के प्रलेखीकरण के लिए वास्तविक उद्योग मानक है। कुछ एकीकृत विकास वातावरण,[4] IntelliJ IDEA, नेटबीनस और इक्लिप्स (सॉफ़्टवेयर) की तरह, स्वचालित रूप से जावाडोक टेम्पलेट उत्पन्न करते हैं। कई फ़ाइल संपादक जावाडोक सोर्स तैयार करने में उपयोगकर्ता की सहायता करते हैं और प्रोग्रामर के लिए आंतरिक संदर्भ के रूप में जावाडोक जानकारी का उपयोग करते हैं।

जावाडोक डॉकलेट्स और टैगलेट बनाने के लिए एक एपीआई भी प्रदान करता है, जो उपयोगकर्ताओं को जावा एप्लिकेशन की संरचना का विश्लेषण करने की अनुमति देता है। इस प्रकार JDiff एक एपीआई के दो संस्करणों के बीच क्या बदलाव हुआ इसकी रिपोर्ट तैयार कर सकता है।

जावाडोक जावा में प्रदर्शन को प्रभावित नहीं करता है क्योंकि संकलन के समय सभी टिप्पणियाँ हटा दी जाती हैं। टिप्पणियाँ और जावाडोक लिखना कोड को बेहतर ढंग से समझने और इस प्रकार इसे बेहतर बनाए रखने के लिए है।

इतिहास

जावाडोक एक प्रारंभिक जावा लेंग्वेज प्रलेखीकरण जनरेटर था।[5] प्रलेखीकरण जनरेटर के उपयोग से पहले तकनीकी लेखकों का उपयोग करने की प्रथा थी जो सामान्यत: सॉफ़्टवेयर के लिए केवल स्टैंडअलोन प्रलेख लिखते थे,[6] लेकिन इस प्रलेख को सॉफ़्टवेयर के साथ समन्वयित रखना बहुत कठिन था।

जावा द्वारा पहली रिलीज़ के बाद से जावाडोक का उपयोग किया गया है, और सामान्यत: जावा डेवलपमेंट किट की हर नई रिलीज़ पर इसे अपडेट किया जाता है। @फील्ड जावाडोक के सिंटैक्स का अनुकरण अन्य लेंग्वेजओं के लिए प्रलेखीकरण प्रणालियों द्वारा किया गया है, जिसमें क्रॉस-लैंग्वेज डॉक्सिजन, जावास्क्रिप्ट के लिए जेएसडॉक सिस्टम और ऐप्पल के हेडरडॉक सम्मलित हैं।

तकनीकी वास्तुकला

जावाडोक टिप्पणी की संरचना

जावाडोक टिप्पणी को मानक बहु लाइन टिप्पणी टैग द्वारा कोड से अलग किया जाता है /* और */. आरंभिक टैग (जिसे आरंभ-टिप्पणी सीमांकक कहा जाता है) में एक अतिरिक्त तारांकन चिह्न होता है /**.

  1. पहला पैराग्राफ प्रलेखित विधि का विवरण है।
  2. विवरण के बाद अलग-अलग संख्या में वर्णनात्मक टैग हैं, जो दर्शाते हैं:
    1. विधि के पैरामीटर (@param)
    2. विधि क्या लौटाती है (@return)
    3. कोई भी अपवाद जो विधि फेंक सकती है (@throws)
    4. अन्य कम-सामान्य टैग जैसे @see (टैग भी देखें)

जावाडोक का अवलोकन

प्रलेख टिप्पणियाँ लिखने की मूल संरचना उन्हें अंदर एम्बेड करना है। /** ... */. जावाडोक टिप्पणी ब्लॉक आइटम के ठीक ऊपर स्थित है बिना किसी अलग नई लाइन के ध्यान दें कि कोई भी आयात विवरण वर्ग घोषणा से पहले होना चाहिए। वर्ग घोषणा में सामान्यत: सम्मलित होते हैं:

// import statements

/**
 * @author      Firstname Lastname <address @ example.com>
 * @version     1.6                 (current version number of program)
 * @since       1.2          (the version of the package this class was first added to)
 */
public class Test {
    // class body
}

विधियों के लिए (1) एक संक्षिप्त, संक्षिप्त, एक पंक्ति का विवरण है बताएं कि आइटम क्या करता है. इसके बाद (2) एक लंबा समय आता है विवरण जो कई अनुच्छेदों तक फैला हो सकता है। विवरण यहाँ पूर्ण रूप से समझाया जा सकता है। यह अनुभाग है वैकल्पिक, अंत में, स्वीकृत इनपुट को सूचीबद्ध करने के लिए (3) एक टैग अनुभाग है विधि के तर्क और वापसी मान ध्यान दें कि सभी जावाडोक को एचटीएमएल के रूप में माना जाता है इसलिए एकाधिक पैराग्राफ अनुभाग द्वारा अलग किए गए हैं<p>पैराग्राफ़ ब्रेक टैग।

/**
 * Short one line description.                           (1)
 * <p>
 * Longer description. If there were any, it would be    (2)
 * here.
 * <p>
 * And even more explanations to follow in consecutive
 * paragraphs separated by HTML paragraph breaks.
 *
 * @param  variable Description text text text.          (3)
 * @return Description text text text.
 */
public int methodName (...) {
    // method body with a return statement
}

वेरीयेबल को अपवाद के साथ विधियों के समान ही प्रलेखित किया जाता है भाग (3) हटा दिया गया है। यहां वेरिएबल में केवल लघु सम्मलित है विवरण:

/**
 * Description of the variable here.
 */
private int debug = 0;

ध्यान दें कि यह अनुशंसित नहीं है[7] एक प्रलेखीकरण टिप्पणी में एकाधिक वेरीयेबल परिभाषित करने के लिए है। ऐसा इसलिए है क्योंकि जावाडोक प्रत्येक वेरिएबल को पढ़ता है और उन्हें समान प्रलेख टिप्पणी के साथ जेनरेट किए गए एचटीएमएल पृष्ठ पर अलग-अलग रखता है जिसे सभी फ़ील्ड के लिए कॉपी किया जाता है।

/**
 * The horizontal and vertical distances of point (x,y)
 */
public int x, y;      // AVOID

इसके अतिरिक्त, प्रत्येक वेरीयेबल को अलग से लिखने और प्रलेखित करने की अनुशंसा की जाती है:

/**
 * The horizontal distance of point.
 */
public int x;

/**
 * The vertical distance of point.
 */
public int y;


जावाडोक टैग की तालिका

कुछ उपलब्ध जावाडोक टैग[8] नीचे दी गई तालिका में सूचीबद्ध हैं:

टैग एवं पैरामीटर प्रयोग लागू होता है तब से
@author जॉन स्मिथ एक लेखक का वर्णन करता है। क्लास, इंटरफ़ेस, एनम
{@docRoot} किसी भी जेनरेट किए गए पेज से जेनरेट किए गए प्रलेख की रूट निर्देशिका के सापेक्ष पथ का प्रतिनिधित्व करता है। क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड
@version संस्करण सॉफ़्टवेयर संस्करण प्रविष्टि प्रदान करता है. प्रति क्लास या इंटरफ़ेस अधिकतम एक। क्लास, इंटरफ़ेस, एनम
@since सिन्स-टेक्सट वर्णन करता है कि यह कार्यक्षमता पहली बार कब अस्तित्व में थी। क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड
@see संदर्भ प्रलेखीकरण के अन्य तत्वों के लिए एक लिंक प्रदान करता है। क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड
@param नाम विवरण एक मैथड पैरामीटर का वर्णन करता है। मैथड
@return विवरण वापसी मान का वर्णन करता है. मैथड
@exception क्लासनाम विवरण
@throws क्लासनाम विवरण
एक अपवाद का वर्णन करता है जिसे इस गणित से निकाला जा सकता है। मैथड
@deprecated विवरण एक पुराने मैथड का वर्णन करता है। क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड
{@inheritDoc} ओवरराइड मैथड से विवरण की प्रतिलिपि बनाएँ। Overriding मैथड 1.4.0
{@link संदर्भ} अन्य प्रतीक से लिंक करें। क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड
{@linkplain संदर्भ} {@link} के समान, सिवाय इसके कि लिंक का लेबल कोड फ़ॉन्ट की तुलना में सादे पाठ में प्रदर्शित होता है। क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड
{@value #स्टैटिक_फील्ड} स्थैतिक फ़ील्ड का मान लौटाएँ। स्टैटिक फील्ड 1.4.0
{@code लिटरल} कोड फ़ॉन्ट में शाब्दिक पाठ को प्रारूपित करता है। यह के बराबर है <code>{@लिटरल}</code>. क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड 1.5.0
{@लिटरल लिटरल} शाब्दिक पाठ को दर्शाता है. संलग्न पाठ की व्याख्या इस प्रकार की गई है कि इसमें एचटीएमएल मार्कअप या नेस्टेड जावाडोक टैग सम्मलित नहीं हैं। क्लास, इंटरफ़ेस, एनम, फील्ड, मैथड 1.5.0
{@serial लिटरल} डिफ़ॉल्ट क्रमबद्ध फ़ील्ड के लिए प्रलेख टिप्पणी में उपयोग किया जाता है। फील्ड
{@serialData लिटरल} राइटऑब्जेक्ट () या राइटएक्सटर्नल () मैथड द्वारा लिखे गए डेटा का दस्तावेजीकरण करें। फील्ड, मैथड
{@serialफील्ड लिटरल} एक ऑब्जेक्टस्ट्रीमफ़ील्ड घटक का प्रलेखीकरण। फील्ड


उदाहरण

किसी विधि का प्रलेखीकरण करने के लिए जावाडोक का एक उदाहरण इस प्रकार है। ध्यान दें कि इस उदाहरण में रिक्ति और वर्णों की संख्या कन्वेंशन स्थिति के अनुसार है।

/**
 * Validates a chess move.
 *
 * <p>Use {@link #doMove(int fromFile, int fromRank, int toFile, int toRank)} to move a piece.
 *
 * @param fromFile file from which a piece is being moved
 * @param fromRank rank from which a piece is being moved
 * @param toFile   file to which a piece is being moved
 * @param toRank   rank to which a piece is being moved
 * @return            true if the move is valid, otherwise false
 * @since             1.0
 */
boolean isValidMove(int fromFile, int fromRank, int toFile, int toRank) {
    // ...body
}

/**
 * Moves a chess piece.
 *
 * @see java.math.RoundingMode
 */
void doMove(int fromFile, int fromRank, int toFile, int toRank)  {
    // ...body
}


डॉकलेट्स

डॉकलेट प्रोग्राम जावा (प्रोग्रामिंग लेंग्वेज) में लिखे कोड से प्रलेख तैयार करने के लिए जावाडोक टूल के साथ काम करते हैं।[9] डॉकलेट जावा प्रोग्रामिंग लेंग्वेज में लिखे गए हैं और इसका उपयोग करते हैं Doclet API को:

  • प्रलेख में कौन सी सामग्री सम्मलित करनी है उसका चयन करें।
  • सामग्री की प्रस्तुति को प्रारूपित करें।
  • वह फ़ाइल बनाएं जिसमें प्रलेख सम्मलित हो वह StandardDoclet[3] जावाडोक के साथ सम्मलित होकर फ्रेम-आधारित एचटीएमएल फ़ाइलों के रूप में एपीआई प्रलेख तैयार करता है। वेब पर कई गैर-मानक प्रलेख उपलब्ध हैं[citation needed], अधिकांशत: मुफ़्त में। इनका उपयोग इसके लिए किया जा सकता है।
  • अन्य गैर-एपीआई प्रकार के प्रलेख बनाएं।
  • प्रलेख को पीडीएफ जैसे अन्य गैर-एचटीएमएल फ़ाइल प्रकारों में आउटपुट करें।
  • खोज जैसी अतिरिक्त सुविधाओं के साथ या जावा क्लासेस से उत्पन्न एम्बेडेड एकीकृत मॉडलिंग लेंग्वेज आरेखों के साथ प्रलेख को एचटीएमएल के रूप में आउटपुट करें।

यह भी देखें

संदर्भ

  1. Now cased as 'Javadoc'. See [1]. Originally cased as 'JavaDoc'. See [2]
  2. "जावाडोक". agile.csc.ncsu.edu. Archived from the original on 13 June 2017. Retrieved 12 January 2022.
  3. "javadoc - जावा एपीआई दस्तावेज़ीकरण जेनरेटर". Sun Microsystems. Retrieved 2011-09-30..
  4. IntelliJ IDEA, NetBeans Archived 2017-04-05 at the Wayback Machine and Eclipse
  5. "Javadoc टूल के लिए दस्तावेज़ टिप्पणियाँ कैसे लिखें". Sun Microsystems. Retrieved 2011-09-30..
  6. Venners, Bill; Gosling, James; et al. (2003-07-08). "Visualizing with JavaDoc". artima.com. Retrieved 2013-01-19. When I did the original JavaDoc in the original compiler, even the people close around me pretty soundly criticized it. And it was interesting, because the usual criticism was: a good tech writer could do a lot better job than the JavaDoc does. And the answer is, well, yeah, but how many APIs are actually documented by good tech writers? And how many of them actually update their documentation often enough to be useful?
  7. "Java Platform, Standard Edition Tools Reference for Oracle JDK on Solaris, Linux, and OS X, Release 8. Section "Multiple-Field Declarations"". Retrieved 20 Dec 2017.
  8. JavaSE 13 Documentation Comment Specification
  9. "Doclet Overview".


बाहरी संबंध