Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Comentarios de documentación en Java: Dominando Javadoc y tipos de comentarios

El lenguaje Java soporta tres tipos de comentarios:

NºComentario y Descripción
1

/* texto */

El compilador ignora todo desde /* hasta */.

2

//texto

El compilador ignora todo desde // hasta el final de la línea.

3

/** documentación */

Este es un comentario de documentación, generalmente llamado doc comment. La herramienta JDK javadoc usa doc comments al generar documentación automáticamente.

Este capítulo explica Javadoc y cómo usarlo para generar documentación útil para código Java.

¿Qué es Javadoc?

Javadoc es una herramienta que viene con el JDK y se usa para generar documentación de código Java en formato HTML a partir del código fuente, que requiere documentación en un formato predefinido.

Ejemplo simple donde las líneas dentro de /*….*/ son comentarios multilínea de Java. La línea precedida por // es comentario de una línea.

Ejemplo

/**
 * El programa HelloWorld implementa una aplicación que
 * simplemente muestra "¡Hola Mundo!" en la salida estándar.
 *
 * @author Zara Ali
 * @version 1.0
 * @since 2014-03-31
 */
public class HelloWorld {
    public static void main(String[] args) {
        // Imprime ¡Hola, Mundo! en la salida estándar.
        System.out.println("¡Hola Mundo!");
    }
}

Puedes incluir etiquetas HTML requeridas dentro de la descripción. Por ejemplo, <h1>....</h1> para encabezado y <p> para salto de párrafo:

Ejemplo

/**
 * <h1>¡Hola, Mundo!</h1>
 * El programa HelloWorld implementa una aplicación que
 * simplemente muestra "¡Hola Mundo!" en la salida estándar.
 * <p>
 * Dar comentarios adecuados en tu programa lo hace más
 * amigable y se asume como código de alta calidad.
 *
 * @author Zara Ali
 * @version 1.0
 * @since 2014-03-31
 */
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("¡Hola Mundo!");
    }
}

Etiquetas de Javadoc

La herramienta javadoc reconoce las siguientes etiquetas:

EtiquetaDescripciónSintaxis
@authorAñade el autor de una clase.@author nombre-texto
{@code}Muestra texto en fuente de código sin interpretarlo como HTML ni etiquetas javadoc anidadas.{@code texto}
{@docRoot}Representa la ruta relativa al directorio raíz del documento generado desde cualquier página generada.{@docRoot}
@deprecatedAñade comentario indicando que esta API ya no debería usarse.@deprecated texto-obsoleto
@exceptionAñade subencabezado Throws a la documentación generada, con nombre de clase y descripción.@exception nombre-clase descripción
{@inheritDoc}Hereda comentario de la más cercana clase heredable o interfaz implementable.Hereda comentario de la superclase inmediata.
{@link}Inserta enlace en línea con etiqueta de texto visible que apunta a la documentación del paquete, clase o miembro especificado.{@link paquete.clase#miembro etiqueta}
{@linkplain}Idéntico a {@link}, pero la etiqueta del enlace se muestra en texto plano en lugar de fuente de código.{@linkplain paquete.clase#miembro etiqueta}
@paramAñade parámetro con nombre y descripción a la sección "Parámetros".@param nombre-parámetro descripción
@returnAñade sección "Returns" con texto de descripción.@return descripción
@seeAñade encabezado "See Also" con enlace o entrada de texto que apunta a referencia.@see referencia
@serialUsado en comentario doc para campo serializable por defecto.@serial descripción-campo | include | exclude
@serialDataDocumenta datos escritos por writeObject() o writeExternal().@serialData descripción-datos
@serialFieldDocumenta componente ObjectStreamField.@serialField nombre-campo tipo-campo descripción-campo
@sinceAñade encabezado "Since" con texto since-text especificado.@since versión
@throws@throws y @exception son sinónimos.@throws nombre-clase descripción
{@value}Cuando {@value} se usa en comentario doc de campo estático, muestra el valor de esa constante.{@value paquete.clase#campo}
@versionAñade subencabezado "Version" con version-text especificado cuando se usa opción -version.@version version-text

Ejemplo

El siguiente programa usa algunas etiquetas importantes. Puedes usar otras según tus necesidades.

La documentación sobre la clase AddNum se producirá en HTML AddNum.html y también se creará un archivo maestro index.html.

import java.io.*;
/**
 * <h1>¡Sumar Dos Números!</h1>
 * El programa AddNum implementa una aplicación que
 * simplemente suma dos números enteros dados e imprime
 * el resultado en pantalla.
 * <p>
 * <b>Nota:</b> Dar comentarios adecuados en tu programa lo hace más
 * amigable y se asume como código de alta calidad.
 *
 * @author Zara Ali
 * @version 1.0
 * @since 2014-03-31
 */
public class AddNum {
    /**
     * Este método suma dos enteros. Es la forma más simple
     * de un método de clase, solo para mostrar el uso de
     * varias etiquetas javadoc.
     * @param numA Primer parámetro para addNum
     * @param numB Segundo parámetro para addNum
     * @return int Retorna la suma de numA y numB.
     */
    public int addNum(int numA, int numB) {
        return numA + numB;
    }
    /**
     * Método principal que usa addNum.
     * @param args No usado.
     * @return Nada.
     * @exception IOException En error de entrada.
     * @see IOException
     */
    public static void main(String args[]) throws IOException {
        AddNum obj = new AddNum();
        int sum = obj.addNum(10, 20);
        System.out.println("Suma de 10 y 20 es: " + sum);
    }
}

Procesa el archivo AddNum.java con javadoc:

$ javadoc AddNum.java
Loading source file AddNum.java...
Constructing Javadoc information...
Standard Doclet version 1.7.0_51
Building tree for all the packages and classes...
Generating /AddNum.html...
AddNum.java:36: 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...
1 warning

Puedes ver la documentación generada en AddNum. Si usas JDK 1.7, javadoc no genera un gran stylesheet.css; sugerimos descargar y usar el estándar desde https://docs.oracle.com/javase/7/docs/api/stylesheet.css

Java

  1. Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
  2. Comentarios en Java: Tipos, Uso y Mejores Prácticas
  3. Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
  4. Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
  5. Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
  6. Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
  7. Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
  8. Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
  9. Aserciones en Java: Guía práctica para detectar bugs y asegurar fiabilidad del código
  10. Entendiendo Java Vector: Uso, Características y Comparación con ArrayList
  11. Comentarios de documentación en Java: Dominando Javadoc y tipos de comentarios