最佳答案
我正在开发一个包含许多同名方法的 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 扩展吗?或者有一个很好的理由,为什么这不支持,我错过了?