Skip to content

Comentarios en todo el código y estimación basada en datos medidos - #83

Merged
riverri merged 3 commits into
mainfrom
claude/jolly-meitner-54f1i5
Oct 20, 2026
Merged

riverri merged 3 commits into
mainfrom
claude/jolly-meitner-54f1i5

Conversation

@riverri

@riverri riverri commented Oct 20, 2026

Copy link
Copy Markdown
Owner

Qué cambia

1. Comentarios en todo el código Java (144 archivos)

  • Javadoc en todas las clases: qué son (entidad, servicio, controlador, formulario…), con qué colaboran y qué historias de usuario implementan (HU-xx).
  • Javadoc en los métodos públicos con lógica:
    • qué hacen y qué reglas aplican;
    • qué excepción lanzan y cuándo (@throws);
    • en los controladores, la ruta y quién puede usarla.
  • Comentarios de línea en lo menos evidente:
    • cada paso del algoritmo de cuotas y el porqué de cada constante;
    • la sincronización con la API (una transacción por partido, resultado a los 90 minutos);
    • la seguridad, la recuperación de contraseña y el control de concurrencia del saldo;
    • la resolución de combinadas, los estados del evento y la alineación probable;
    • el panel de gestión.
  • Solo cambian comentarios. Un script que quita los comentarios comprueba que los 144 archivos tienen el mismo código que antes, y pasan las 276 pruebas.
  • Comentarios corregidos que no cuadraban con el código. Por ejemplo:
    • Deporte.isAdmiteEmpate: solo el fútbol admite empate.
    • Formato.iniciales: "Real Madrid" da "M", no "RM".
    • DatosIniciales: los partidos solo se cargan con la base de datos vacía.
    • ResolucionService.anular: cómo afecta a las combinadas.
    • La cuota efectiva de una selección anulada.

2. Estimación de las historias, basada en datos medidos

Sustituye los porcentajes del PR #82 por un método explicado paso a paso en la sección Estimación de docs/requisitos/historias-de-usuario.md:

  • Tamaño: puntos de historia y líneas de código medidas en el repositorio: 15.103 líneas para 185 puntos, unas 82 por punto.
  • Horas sin IA: productividad en tres valores (PERT: 25 / 15 / 8 líneas/h, unas 13,9 líneas/h), con COCOMO básico como techo de comprobación.
  • Horas con IA: cuatro partes.
    • Dirigir a la IA: medido.
    • Revisar el código: 138 líneas/h.
    • Comprobar cada criterio: 10 minutos por criterio.
    • Corregir fallos: 2,5 por cada mil líneas, medido en la revisión de los 34 fallos.
  • Coste de la IA: tokens y dólares medidos en la sesión de trabajo, con las tarifas de la API; unos 11,8 $ por cada mil líneas.
  • Totales de las 45 historias hechas: unas 1.091 h sin IA, 177 h con IA (110 de ellas revisando) y unos 179 $ de IA.
  • Wiki: el resumen de la página Historias de usuario está actualizado.

Cómo probarlo

  1. ./mvnw test: pasan las 276 pruebas.
  2. Abrir cualquier clase, por ejemplo cuotas/CalculadoraCuotas.java o apuesta/ApuestaService.java, y leer los comentarios.
  3. Leer la sección Estimación de docs/requisitos/historias-de-usuario.md.

Checklist

  • Cumple lo pedido: comentarios en el código y estimación de tamaño, horas y coste realista y explicada
  • Pruebas añadidas o actualizadas (no cambian: solo comentarios; pasan las 276)
  • Documentación actualizada

Generated by Claude Code

riverri and others added 3 commits October 20, 2026 09:23
… IA)

Sustituye los porcentajes por un modelo explicado paso a paso:
- Tamaño: puntos de historia y líneas de código, medidas en el
  repositorio (15.103 líneas para 185 puntos, 82 por punto).
- Horas sin IA: productividad en tres valores (PERT: 25/15/8 líneas/h),
  con COCOMO básico como techo de comprobación.
- Horas con IA: dirigir a la IA (medido), revisar el código (300/150/75
  líneas/h), comprobar cada criterio (10 min) y corregir fallos
  (2,5 por mil líneas, medido en la revisión de los 34 fallos).
- Coste de la IA: tokens y dólares medidos en la sesión de trabajo con
  las tarifas de la API (11,8 $ por mil líneas).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2d3ge9Wscp8HFbAeVkujJ
…os, notificaciones, web, gestion, mercados, ligas, eventos y equipos

Javadoc en todas las clases (papel, colaboradores e historias de usuario),
en los métodos públicos con lógica (rutas, reglas y excepciones) y
comentarios de línea en la lógica menos evidente: algoritmo de cuotas,
sincronización con la API, seguridad, recuperación de contraseña,
estados del evento, alineación probable, panel de gestión…

Solo cambian comentarios: quitándolos, cada archivo es idéntico al
anterior. Se corrigen además comentarios que no cuadraban con el código
(Deporte.isAdmiteEmpate, Formato.iniciales, DatosIniciales, Forma…).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2d3ge9Wscp8HFbAeVkujJ
Javadoc en las 38 clases del paquete central (apuestas simples,
combinadas y a largo plazo, boleto, resolución, ranking, estadísticas,
límites, juego responsable, cuentas de la casa y baja) y comentarios de
línea en la lógica de dinero, cuotas, estados y concurrencia.

Solo cambian comentarios. Se corrigen los que no cuadraban con el
código: volumen de los mercados, cuota efectiva de una selección
anulada, anular un evento con combinadas, migración de Limites…

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2d3ge9Wscp8HFbAeVkujJ
@riverri
riverri merged commit 0b9c55a into main Oct 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant