📘 Técnicas de documentación de sistemas con JavaDoc
La documentación es una parte crítica en el desarrollo de software. En proyectos profesionales —especialmente aquellos construidos con lenguajes como Java— documentar correctamente no es opcional: es lo que permite que un sistema sea entendible, mantenible y escalable.
A continuación se muestra cómo documentar sistemas usando JavaDoc, no solo desde lo técnico, sino también desde un enfoque estructurado y profesional.
📘 ¿Qué es JavaDoc?
JavaDoc es una herramienta incluida en el JDK de Java que permite generar documentación automática en formato HTML a partir de comentarios en el código fuente.
👉 Se usa para:
Documentar clases, métodos y atributos
Facilitar mantenimiento del código
Generar documentación profesional tipo API
🧠 Estructura básica de JavaDoc
Los comentarios JavaDoc se escriben así:
/**
* Descripción general
*/
🧱 Ejemplo básico
/**
* Clase que representa un empleado.
* Contiene información básica y cálculo de salario.
*/
public class Empleado {
private String nombre;
private double salario;
/**
* Constructor de la clase Empleado
* @param nombre Nombre del empleado
* @param salario Salario base del empleado
*/
public Empleado(String nombre, double salario) {
this.nombre = nombre;
this.salario = salario;
}
/**
* Calcula el salario anual
* @return salario anual
*/
public double calcularSalarioAnual() {
return salario * 12;
}
}
🏗️ 2. Tipos de documentación en un sistema
Antes de entrar a JavaDoc, es importante entender el contexto:
📚 Tipos principales
1. Documentación funcional
Describe qué hace el sistema (para usuarios)
2. Documentación técnica
Describe cómo funciona el sistema internamente
👉 Aquí es donde entra JavaDoc
3. Documentación de API
Describe endpoints (muy común en Spring Boot)
🧱 4. Estructura de documentación con JavaDoc
📌 Nivel 1: Clase
/**
* Representa un empleado dentro del sistema.
* Contiene atributos y operaciones relacionadas con su salario.
*/
public class Empleado {
}
👉 Aquí se describe:
- Responsabilidad de la clase
- Contexto dentro del sistema
📌 Nivel 2: Atributos
/** Nombre del empleado */
private String nombre;
👉 Se documenta:
- Significado del dato
- Uso dentro del sistema
📌 Nivel 3: Métodos
/**
* Calcula el salario anual del empleado.
*
* @param salarioMensual salario base mensual
* @return salario anual calculado
*/
public double calcularSalarioAnual(double salarioMensual) {
return salarioMensual * 12;
}
👉 Este es el punto más importante de JavaDoc:
- Define contratos
- Explica comportamiento
🏷️ Etiquetas más usadas en JavaDoc
📌 @param
Describe parámetros de un método o constructor
@param nombre descripción del parámetro
📌 @return
Describe lo que retorna el método
@return resultado del cálculo
📌 @throws o @exception
Describe excepciones que puede lanzar el método
@throws IllegalArgumentException si el salario es negativo
📌 @author
@author TuNombre
📌 @version
@version 1.0
📌 @see
Referencia a otra clase o método
@see Empleado
📌 @since
Desde qué versión existe
@since 2026
🧩 Ejemplo completo (nivel profesional)
/**
* Representa un empleado dentro del sistema.
* Permite calcular salario anual y validar datos.
*
* @author Edvin
* @version 1.0
* @since 2026
*/
public class Empleado {
private String nombre;
private double salario;
/**
* Crea un nuevo empleado.
*
* @param nombre Nombre del empleado
* @param salario Salario mensual
* @throws IllegalArgumentException si el salario es negativo
*/
public Empleado(String nombre, double salario) {
if (salario < 0) {
throw new IllegalArgumentException("Salario inválido");
}
this.nombre = nombre;
this.salario = salario;
}
/**
* Calcula el salario anual del empleado.
*
* @return salario anual calculado
*/
public double calcularSalarioAnual() {
return salario * 12;
}
}
🧠 7. Técnicas profesionales de documentación
Aquí es donde pasamos de “comentar código” a documentar sistemas de verdad:
🎯 1. Documentar intención, no obviedades
❌ Malo:
// suma dos números
✅ Bueno:
/**
* Calcula el total incluyendo impuestos aplicables según la región.
*/
🎯 2. Documentar contratos
Explicar claramente:
- Qué recibe
- Qué devuelve
- Qué errores puede lanzar
🎯 3. Documentar reglas de negocio
/**
* Aplica descuento solo si el cliente es VIP.
*/
👉 Esto es oro en sistemas reales
🎯 4. Documentar excepciones
@throws IllegalArgumentException si el salario es negativo
🎯 5. Mantener consistencia
Toda tu aplicación debe tener:
- Mismo estilo
- Mismo nivel de detalle
- Misma estructura
🚀 9. JavaDoc en sistemas modernos (Spring Boot)
En proyectos con Spring Boot:
👉 JavaDoc se usa para:
- Services (lógica de negocio)
- Models (entidades)
- Controllers (documentación básica)
👉 Pero se complementa con:
- Swagger (documentación de API REST)
⚙️ ¿Cómo generar la documentación?
Desde consola:
javadoc -d doc *.java
👉 Esto genera:
Carpeta
docArchivos HTML navegables tipo página web
📂 Resultado generado
Incluye:
Índice de clases
Métodos documentados
Descripciones
Navegación tipo API profesional
🧠 Buenas prácticas
✔ Documentar:
Clases públicas
Métodos importantes
Interfaces
❌ Evitar:
Documentar código obvio
Repetir lo que ya dice el nombre del método
✔ Usar lenguaje claro y profesional
✔ Mantener consistencia
💡 Ejemplo aplicado a POO
En herencia:
/**
* Clase base Empleado
*/
public class Empleado {
public double calcularSalario() {
return 0;
}
}
/**
* Clase Programador que hereda de Empleado
*/
public class Programador extends Empleado {
/**
* Sobrescribe el cálculo de salario
* @return salario del programador
*/
@Override
public double calcularSalario() {
return 1000;
}
}
🎯 Conclusión
JavaDoc no es solo una herramienta, es una técnica formal de documentación de sistemas.
Bien utilizada:
- Reduce errores
- Mejora el trabajo en equipo
- Facilita mantenimiento
- Profesionaliza tu código
Comentarios
Publicar un comentario