私は、署名だけが異なる同じ名前のメソッドを多数使用して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のユーザーがツリーの追加について知っておく必要のある多くの重要なことは、これらすべてのメソッドに当てはまります。
理想的には、すべてのメソッドで使用される1つの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ブロックを5回コピーして貼り付けるだけで、メソッドごとにパラメータリストがわずかに異なります。これは私には面倒に聞こえますが、保守も困難です。
それを回避する方法はありますか?この種のサポートがあるjavadocの拡張機能はありますか?それとも、私が見逃したのにこれがサポートされていない正当な理由がありますか?