Tema 13 · Documentación

13. Documentación Técnica: PHPDoc, OpenAPI y Diagramas Mermaid

Genera docstrings profesionales, esquemas de endpoints de API y diagramas de arquitectura visuales en Mermaid a partir de tu código.

Convertir la Documentación en un Subproducto Automático

La documentación suele ser la tarea más postergada por los desarrolladores debido al tiempo que consume redactarla manualmente. Con la asistencia de un copiloto de IA, documentar tu arquitectura deja de ser un obstáculo para convertirse en un proceso inmediato de alta calidad.

La IA sobresale en tres formatos técnicos esenciales:

  • Docstrings Estructurados (PHPDoc / JSDoc): Anotaciones formales de tipos, excepciones arrojadas (@throws) y explicaciones concisas para autocompletado en el IDE.
  • Especificaciones OpenAPI 3.0 (Swagger): Definición en YAML o JSON de los parámetros de entrada, códigos de estado HTTP (200, 400, 401, 500) y esquemas de respuesta de tus endpoints.
  • Diagramas de Arquitectura en Mermaid.js: Diagramas de flujo y diagramas de secuencia renderizables nativamente en GitHub y Markdown sin necesidad de herramientas gráficas externas.

⚡ Prompt para Generar Diagramas Mermaid y OpenAPI de un Endpoint

Pide a la IA que inspeccione un controlador de pagos y extraiga el diagrama de secuencia en Mermaid y el esquema YAML OpenAPI.

doc-mermaid-openapi-prompt.md
Solo lectura
# Solicitud de Documentación Técnica (Kilopolis)

Revisa el siguiente método controlador de pasarela de pago:

```php
public function procesarPago(Request $req): Response {
    $datos = $req->json();
    if (empty($datos['monto'])) return Response::json(['error' => 'Falta monto'], 400);
    $orden = Orden::crear($datos);
    $resPasarela = BoldGateway::cobrar($orden);
    if (!$resPasarela->exitoso()) return Response::json(['error' => 'Pago rechazado'], 402);
    $orden->marcarPagada();
    return Response::json(['status' => 'aprobado', 'id' => $orden->id], 200);
}
```

## INSTRUCCIÓN:
1. **Genera un Diagrama de Secuencia en Mermaid.js:**
   - Muestra la interacción entre: `Cliente (Navegador)`, `Controlador`, `Base de Datos (MySQL)` y `Pasarela (Bold)`.
   - Incluye el flujo alternativo de error cuando la pasarela rechaza el cobro.

2. **Genera la Especificación OpenAPI 3.0 en YAML:**
   - Define el path `/api/pagos/procesar`, método `post`, requestBody en JSON y respuestas `200`, `400` y `402`.
🧠
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección
1 Pregunta
Pregunta 1
¿Por qué los diagramas de Mermaid.js generados por IA son tan populares en la documentación moderna de repositorios en GitHub?
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar IA como Copiloto: Aprendizaje & Desarrollo Web y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.