Je développe une API avec de nombreuses méthodes nommées de manière identique qui diffèrent simplement par la signature, ce que je suppose est assez commun. Ils font tous la même chose, sauf qu'ils initialisent diverses valeurs par défaut si l'utilisateur ne veut pas spécifier. En tant qu'exemple digeste, considéronsRéutilisation de Javadoc et méthodes surchargées
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);
}
L'action essentielle effectuée par tous ces procédés est la même; un arbre est planté dans la forêt. Beaucoup de choses importantes que les utilisateurs de mon API doivent savoir sur l'ajout d'arbres sont valables pour toutes ces méthodes.
Idéalement, je voudrais écrire un bloc Javadoc qui est utilisé par toutes les méthodes:
/**
* 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%.
*/
Dans mon imagination, un outil peut choisir magie qui des @params appliquer à chacune des méthodes et générer ainsi de bons documents pour toutes les méthodes à la fois. Avec Javadoc, si je comprends bien, tout ce que je peux faire c'est copier essentiellement & coller le même bloc javadoc cinq fois, avec seulement une liste de paramètres légèrement différente pour chaque méthode. Cela me semble lourd et difficile à maintenir.
Y a-t-il un moyen de contourner cela? Une extension à javadoc qui a ce genre de support? Ou y at-il une bonne raison pour laquelle ce n'est pas soutenu que j'ai manqué?
Grande question et excellent décrit, merci. –