मैं कई नामांकित विधियों के साथ एक एपीआई विकसित कर रहा हूं जो केवल हस्ताक्षर से भिन्न है, जो मुझे लगता है कि काफी सामान्य है। वे सभी एक ही काम करते हैं, सिवाय इसके कि यदि उपयोगकर्ता निर्दिष्ट नहीं करना चाहते हैं, तो वे विभिन्न मानों को प्रारंभिक रूप से परिभाषित करते हैं। एक सुगम उदाहरण के रूप में, विचार करें
public interface Forest
{
public Tree addTree();
public Tree addTree(int amountOfLeaves);
public Tree addTree(int amountOfLeaves, Fruit fruitType);
public Tree addTree(int amountOfLeaves, int height);
public Tree addTree(int amountOfLeaves, Fruit fruitType, int height);
}
इन सभी तरीकों से की जाने वाली आवश्यक क्रिया समान होती है; जंगल में एक पेड़ लगाया जाता है। मेरे एपीआई के कई महत्वपूर्ण चीजों को इन सभी तरीकों से पेड़ों की पकड़ को जोड़ने के बारे में जानने की जरूरत है।
आदर्श रूप में, मैं एक Javadoc ब्लॉक लिखना चाहूंगा जो सभी विधियों द्वारा उपयोग किया जाता है:
/**
* Plants a new tree in the forest. Please note that it may take
* up to 30 years for the tree to be fully grown.
*
* @param amountOfLeaves desired amount of leaves. Actual amount of
* leaves at maturity may differ by up to 10%.
* @param fruitType the desired type of fruit to be grown. No warranties
* are given with respect to flavour.
* @param height desired hight in centimeters. Actual hight may differ by
* up to 15%.
*/
मेरी कल्पना में, एक टूल जादुई तरीके से चुन सकता है कि कौन-से @params प्रत्येक विधि पर लागू होते हैं, और इस प्रकार एक ही बार में सभी विधियों के लिए अच्छे डॉक्स उत्पन्न करते हैं।
Javadoc के साथ, अगर मैं इसे सही ढंग से समझता हूं, तो मैं जो कर सकता हूं वह अनिवार्य रूप से एक ही javadoc ब्लॉक को पांच बार कॉपी और पेस्ट करना है, प्रत्येक विधि के लिए केवल थोड़ा अलग पैरामीटर सूची है। यह मेरे लिए बोझिल लगता है, और इसे बनाए रखना भी मुश्किल है।
क्या उसके आसपास कोई रास्ता है? इस तरह के समर्थन के लिए javadoc का कुछ विस्तार? या फिर एक अच्छा कारण है कि यह समर्थित नहीं है कि मैं चूक गया?