Paola Magillo, Univestita' di Genova, Corso di Programmazione II per SMID, a.a. 2007-2008.

Lezione 11:

DOCUMENTAZIONE DEL CODICE JAVA

Javadoc

Java fornisce un meccanismo automatico per generare la documentazione in formato HTML (pagine WEB) dei sorgenti. Estrae la documentazione dal codice java e dai commenti scritti nel programma, basandosi su alcune regole di sintassi che il programmatore deve seguire nello scrivere il codice e i commenti.

Il comando e' "javadoc" e si esegue sul file sorgente, esempio:

  javadoc Rectangle.java
Importante: javadoc funziona solo sui sorgenti scritti correttamente, quindi prima compilare con javac e poi, se la compilazione va a buon fine senza errori di sintassi, eseguire javadoc.

Che cosa viene documentato

La politica di documentare solo il pubblico o il protetto rispecchia l'idea che la documentazione e' rivolta a chi vuole usare la classe a scatola chiusa (public) o per derivarne sottoclassi (protected), non a chi vuole sapere come funziona la classe internamente per eventualmente modificare il codice.

Come scrivere i commenti

Commenti su piu' linee:

/**
 * This is the typical format of a simple documentation comment
 * that spans two lines.
 */
Commenti su una linea sola:
   /** This comment takes up only one line. */

I commenti vanno messi:

Nei commenti posso scrivere:

Nota: Tutti i commenti, dovunque scritti, che non rispettano la sintassi javadoc vengono ignorati, ma possono ugualmente essere utili per chi legge il codice.

Esempio / Facsimile

/* importante gli "import" vanno messi prima del commento sulla classe,
in questo caso non serviva ma l'ho messo come esempio (questo commento
non e' scritto secondo la sintassi javadoc e sara' ignorato) */
import java.io.*;

/**
 *Commenti generali sulla classe MiaClasse, una classe completamente idiota.
 */
public class MiaClasse
{
 /**
  * Commenti sulla variabile miaVariabile, un intero qualsiasi.
  * Notare il riferimento incrociato al metodo mioMetodo...
  * @see MiaClasse#mioMetodo
  */
  protected int miaVariabile;

 /**
  * Commenti sul metodo mioMetodo, assegna il valore di miaVariabile.
  * Notare che ho commentato i parametri e il valore di ritorno...
  * @param     x  il numero che volete assegnare a miaVariabile
  * @param     y  un altro numero che non serve a niente
  * @return    il numero x appena assegnato, tale e quale
  */
  public int mioMetodo(int x, int y)
  { miaVariabile = x; return x; }

  /**
   * Commenti sul costruttore, costruisce oggetto con miaVariabile a zero.
   */
  public MiaClasse()
  { miaVariabile = 0; }
}

Provare ad eseguire:
   javadoc MiaClasse.java
Questo produce vari file HTML tra cui uno chiamato MiaClasse.html che corrisponde alla pagina di documentazione di questa classe.

Riferimento

Maggiori informazioni in rete all'indirizzo: http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/javadoc.html