Commentaires sur la documentation Java


Java n'a que trois méthodes d'annotation. Les deux premiers sont // et /* */, et le troisième type est appelé commentaire de description, qui se termine par /**Commencez par*/.

Les commentaires de description vous permettent d'intégrer des informations sur le programme au sein du programme. Vous pouvez utiliser le logiciel outil javadoc pour générer des informations et les afficher dans un fichier HTML.

Les commentaires explicatifs vous permettent d'enregistrer des informations sur votre programme de manière plus complète.


balise javadoc

Le logiciel outil javadoc reconnaît les balises suivantes :

Balises DescriptionExemple
                @auteur             Identifier l'auteur d'un cours                 Description de l'@auteur
                      @obsolète                 Nommez une classe ou un membre expiré                 @description obsolète
                       {@docRoot}                 Spécifiez le chemin d'accès au répertoire racine du document actuel                 Chemin du répertoire
                  @exception               Marquer une exception levée par une classe                 @exception explication du nom de l'exception
              {@inheritDoc}               Annotations héritées de la classe parent directe                   Hérite d'un commentaire de la surclasse immédiate.
{@link}               Insérer un lien vers un autre sujet                 {@link name text}
                       {@linkplain}                 Insérez un lien vers un autre sujet, mais affichez le lien en texte brut                 Insère un lien en ligne vers un autre sujet.
                    @param               Décrire les paramètres d'une méthode                   Explication du nom du paramètre @param
@retour               Décrivez le type de valeur de retour @return explication
@voir               Spécifiez un lien vers un autre sujet                 @voir l'ancre
@série               Décrire un attribut de sérialisation                   @description de la série
@serialData               Décrivez les données écrites via les méthodes writeObject() et writeExternal()                     @serialDatadescription
@serialField                 Décrire un composant ObjectStreamField                 Description du type de nom @serialField
@depuis             Marquer quand un changement spécifique est introduit               @depuis la sortie
                    @throws               Identique à la balise @exception. La balise @throws a la même signification que la balise @exception.
                {@value}                 Affiche la valeur d'une constante, qui doit être une propriété statique.                 Affiche la valeur d'une constante, qui doit être un champ statique.
@version               Précisez la version de la classe @info version

Commentaires sur la documentation

Après l'ouverture /**, la ou les premières lignes concernent les classes, les variables et les méthodes. Le principal description.

Après

, vous pouvez inclure une ou plusieurs balises @ de toute nature. Chaque balise @ doit être au début d'une nouvelle ligne ou immédiatement suivie d'un astérisque (*) en début de ligne

Plusieurs balises du même type doivent être regroupées. Par exemple, si vous disposez de trois balises @see, placez-les l’une après l’autre.

Ce qui suit est un exemple de commentaire de description de classe :

/*** This class draws a bar chart.
* @author Zara Ali
* @version 1.2
*/

Que produit javadoc ?

L'outil javadoc prend le code source de votre programme Java comme entrez et sortez quelque chose contenant un fichier HTML pour les commentaires de votre programme.

Les informations pour chaque classe seront dans un fichier HTML séparé. Javadoc peut également générer des arborescences et des index hérités.

Étant donné que l'implémentation de javadoc est différente, le travail peut être différent. Vous devez vérifier la version de votre système de développement Java et d'autres détails pour choisir la version Javadoc appropriée.

Exemple

Ce qui suit est un exemple simple d'utilisation des commentaires de description. Notez que chaque commentaire précède l'élément qu'il décrit.

Après le traitement javadoc, les commentaires de la classe SquareNum se retrouveront dans SquareNum.html.

import java.io.*;
 
/**
* This class demonstrates documentation comments.
* @author Ayan Amhed
* @version 1.2
*/
public class SquareNum {
   /**
   * This method returns the square of num.
   * This is a multiline description. You can use
   * as many lines as you like.
   * @param num The value to be squared.
   * @return num squared.
   */
   public double square(double num) {
      return num * num;
   }
   /**
   * This method inputs a number from the user.
   * @return The value input as a double.
   * @exception IOException On input error.
   * @see IOException
   */
   public double getNumber() throws IOException {
      InputStreamReader isr = new InputStreamReader(System.in);
      BufferedReader inData = new BufferedReader(isr);
      String str;
      str = inData.readLine();
      return (new Double(str)).doubleValue();
   }
   /**
   * This method demonstrates square().
   * @param args Unused.
   * @return Nothing.
   * @exception IOException On input error.
   * @see IOException
   */
   public static void main(String args[]) throws IOException
   {
      SquareNum ob = new SquareNum();
      double val;
      System.out.println("Enter value to be squared: ");
      val = ob.getNumber();
      val = ob.square(val);
      System.out.println("Squared value is " + val);
   }
}

est la suivante, utilisez l'outil javadoc pour traiter le fichier SquareNum.java :

$ javadoc SquareNum.java
Loading source file SquareNum.java...
Constructing Javadoc information...
Standard Doclet version 1.5.0_13
Building tree for all the packages and classes...
Generating SquareNum.html...
SquareNum.java:39: warning - @return tag cannot be used\
                      in method with void return type.
Generating package-frame.html...
Generating package-summary.html...
Generating package-tree.html...
Generating constant-values.html...
Building index for all the packages and classes...
Generating overview-tree.html...
Generating index-all.html...
Generating deprecated-list.html...
Building index for all classes...
Generating allclasses-frame.html...
Generating allclasses-noframe.html...
Generating index.html...
Generating help-doc.html...
Generating stylesheet.css...
1 warning
$