我正在开发一个API,其中包含许多相同名称的方法,只是签名不同而已,这在我看来是很普遍的。它们都做相同的事情,不同之处在于,如果用户不想指定默认值,则会默认初始化各种值。作为一个容易理解的例子,考虑
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);
}
所有这些方法执行的基本动作是相同的;森林里种了一棵树。我的API用户需要了解许多重要事项,以了解如何为所有这些方法添加树。
理想情况下,我想编写一个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的某种扩展具有这种支持?还是有一个很好的理由为什么我错过了不支持此功能?