Jadadocs में तारीख तक कोड उदाहरण कैसे रखें


9

मैं एक छोटी सी लाइब्रेरी पर काम कर रहा हूँ जो बुनियादी, प्रसिद्ध स्ट्रिंग मेट्रिक्स का कार्यान्वयन प्रदान करती है। ज्यादातर मेरी अपनी शिक्षा के लिए। जब भी थोड़ा खाली समय मिलता है तो विकास होता है।

इस वजह से मैंने अधिकांश प्रक्रियाओं को स्वचालित कर दिया है, इसलिए मैं एक संस्करण जारी कर सकता हूं जितनी बार मैं इस पर काम करता हूं, बहुत अधिक प्रयास के बिना। हालाँकि जावा डॉक को बनाए रखना अभी भी एक बोझ है क्योंकि इसमें उदाहरण शामिल हैं।

जैसा कि एपीआई विकसित होता है, मुझे मैन्युअल रूप से प्रत्येक उदाहरण को बार-बार जांचना होगा। क्या ऐसा करने के लिए इससे अच्छा तरीका है?

मैंने प्रलेखन और उदाहरणों को एक अलग परियोजना (जैसे कैलिपर ट्यूटोरियल ) में स्थानांतरित करने पर विचार किया है ताकि इसे नियमित रूप से कोड के साथ-साथ फिर से संकलित और संकलित किया जा सके। हालाँकि यह दस्तावेज़ीकरण को उस वर्ग से दूर ले जाता है जिसके बारे में यह है।

तो हाँ। मैं अपना केक लेना चाहता हूं और इसे भी खाना चाहता हूं। : डी

 * <h2>Tokenization</h2>
 * 
 * Tokenization cuts up a string into tokens e.g.
 * <code>chilperic ii son of childeric ii</code> is tokenized into
 * <code>[chilperic, ii, son, of,
 * childeric, ii]</code>. Tokenization can also be done repeatedly by tokenizing
 * the individual tokens e.g.
 * <code>[ch,hi,il,il,lp,pe,er,ri,ic, ii, so,on, of, ch,hi,il,ld,de,er,ri,ic, ii]</code>
 * <p>
 * 
 * <pre>
 * <code>
 * {@code
 *  return new StringMetricBuilder()
 *          .with(new SimonWhite<String>())
 *          .tokenize(new Whitespace())
 *          .tokenize(new QGram(2))
 *          .build();
 * }
 * </code>
 * </pre>
 * 
 * <p>

यदि ऊपर यह बहुत सार है। यह प्रलेखन का एक नमूना है। वर्तमान में मैं Tokenizers.createQGram(2)कंस्ट्रक्टर विधि की सराहना करते हुए प्रभावी जावा जैसे की सलाह देते हुए स्थिर कंस्ट्रक्टर जोड़ रहा हूं । हर बार जब मैं ऐसा कुछ करता हूं, मुझे ऊपर दिए गए उदाहरण कोड को अपडेट करना होगा और जांचना होगा कि क्या यह अभी भी काम करता है।

जवाबों:


8

यह आपके प्रश्न का उत्तर नहीं दे सकता है - आपके प्रलेखन में इन उदाहरणों की कितनी 'आवश्यकता' पर निर्भर करता है।

शायद आप एक अलग कोण बना सकते हैं: अपने JUnit परीक्षणों में उदाहरण प्रदान करें। (शायद com.examples जैसा पैकेज भी) टिप्पणियों में कोड के साथ समस्या यह है कि आपका IDE इसे अनदेखा करने जा रहा है, अधिकांश भाग के लिए। लेकिन आपका IDE आपके JUnit परीक्षणों में कोड को मान्य करेगा। ऐसा करने से, आप यह सुनिश्चित करते हैं कि कोड उदाहरण 'सही' हैं - परीक्षण या तो संकलित नहीं करेंगे या यदि आप उन्हें अपडेट नहीं किए हैं तो असफल हो जाएंगे।

मैं Javadocs के साथ एक जादूगर नहीं हूं, लेकिन आपके स्रोत फ़ाइल के दस्तावेज़ को JUnit फ़ाइल में उदाहरण कोड के साथ लिंक करने का एक तरीका हो सकता है। मैं वास्तव में नहीं जानता कि इस पर कहाँ से शुरू करना है। एक सरसरी गुगली ने मुझे @seeटैग दिखाया । मैंने इसे एक परियोजना में परीक्षण किया था, लेकिन इसे उत्पन्न होने के बाद एक वास्तविक javadoc में परीक्षण नहीं किया है।

इसके लिए निश्चित रूप से अनुसंधान की थोड़ी-सी आवश्यकता होगी, लेकिन मुझे वास्तव में लगता है कि आप लंबे समय में बेहतर होंगे यदि आपके कोड उदाहरण वास्तव में संकलित किए गए थे।

एक खिंचाव-लक्ष्य के रूप में, आप अपने JUnit उदाहरणों को चलाते समय कोड कवरेज में भी जोड़ सकते हैं। इस तरह आपको पता चलेगा कि आपके उदाहरणों से आपका कोड आधार कितना ढका हुआ है।


इकाई परीक्षण क्षमता ने मुझे आश्वस्त किया है। मैं दस्तावेज़ीकरण को एक सादे कार्यात्मक विवरण में अलग करूँगा और उदाहरणों को एक ट्यूटोरियल प्रोजेक्ट में स्थानांतरित करूँगा। गिटहब पर एक फ़ाइल से लिंक करना थोड़ा अटपटा हो सकता है लेकिन यह एक स्वीकार्य व्यापार है।
एमपी कोरस्टंज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.