Javadoc für die Wiederverwendung und das überladen von Methoden

Entwickle ich eine API mit vielen gleichnamigen Methoden unterscheiden sich gerade durch die Signatur, die ich denke, ist ziemlich weit verbreitet. Sie alle tun das gleiche, außer dass Sie initialisieren Sie die verschiedenen Werte durch die Standardwerte, wenn der Benutzer nicht will, um anzugeben. Als verdaulich Beispiel

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);
}

Wesentlichen Aktion, die von all diesen Methoden ist das gleiche; ein Baum ist gepflanzt in den Wald. Viele wichtige Dinge, die Nutzer meiner API wissen müssen über das hinzufügen von Bäumen halten für alle diese Methoden.

Im Idealfall würde ich mag zu schreiben, eine Javadoc-block, der von allen Methoden:

  /**
   * 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%.
   */

In meiner Phantasie, ein tool könnte magisch die Wahl, welches der @params gelten für jede der Methoden, und erzeugen so gute docs für alle Methoden auf einmal.

Mit Javadoc, wenn ich es richtig verstehe, ist alles was ich tun kann, ist im wesentlichen copy&paste die gleichen javadoc-block fünf mal, mit nur leicht unterschiedlichen parameter-Liste für jede Methode. Das klingt umständlich, zu mir, und ist auch schwer aufrecht zu erhalten.

Gibt es eine Möglichkeit das umgehen? Einige Erweiterung zu javadoc, das diese Art von support? Oder gibt es einen guten Grund, warum dies nicht unterstützt, dass ich verpasst?

Gute Frage, und vorzüglich beschrieben, danke.

InformationsquelleAutor skrebbel | 2010-04-01

Schreibe einen Kommentar