Un ejemplo mínimo reproducible es el equivalente en código a mostrarle a un mecánico la única pieza que vibra en vez de entregarle todo el coche. Eliminas todo lo que no es necesario para provocar el problema y luego confirmas que lo que queda sigue fallando cuando otra persona lo ejecuta. Acierta en esas dos cosas – mínimo y reproducible – y la mayoría de las preguntas se responden solas.
La misma idea, cuatro nombres
Verás el concepto bajo distintas siglas según la comunidad. Todas significan lo mismo:
- reprex – común en el mundo de R y el tidyverse (del paquete
reprex). - MCVE – Minimal, Complete, and Verifiable Example (ejemplo mínimo, completo y verificable), el término que popularizó Stack Overflow.
- MWE – Minimal Working Example (ejemplo mínimo funcional), muy usado en los círculos de LaTeX y TeX.
- SSCCE – Short, Self-Contained, Correct (Compilable) Example (ejemplo corto, autocontenido y correcto/compilable), de larga tradición en la comunidad de Java.
Si alguien te pide cualquiera de estos, quiere lo mismo: el fragmento ejecutable más corto que muestre el error.
Antes
Mi canal de datos se sigue cayendo. Aquí están las 600 líneas de mi script. Ayer funcionaba. ¿Qué está mal?
Nadie puede ejecutar 600 líneas atadas a datos y credenciales que no tiene. No hay forma de ver el fallo, así que no hay forma de ayudar.
Después
Este script de 12 líneas reproduce el fallo en Python 3.12. Construye un DataFrame de 3 filas en línea (sin archivo externo) y lanza
KeyError: 'price'en la última línea. Esperaba que imprimiera el total. ¿Qué se me escapa?import pandas as pd df = pd.DataFrame({"item": ["a", "b", "c"], "cost": [1, 2, 3]}) print(df["price"].sum()) # KeyError here
Ahora cualquiera puede pegarlo, ejecutarlo y ver el error exacto en segundos. La solución (la columna es cost, no price) es obvia en el momento en que el ejemplo se puede ejecutar.
Cómo crear uno
- Empieza de cero. Copia tu código que falla en un archivo nuevo y vacío.
- Elimina todo lo que no tenga relación hasta que quitar una línea más haría desaparecer el error.
- Incrusta los datos. Reemplaza archivos, bases de datos y secretos por unas pocas filas escritas a mano.
- Ejecútalo tú mismo en un entorno limpio para confirmar que sigue fallando de la misma manera.
- Indica el comportamiento esperado frente al real y tus versiones.
Cuando estés reportando un error en vez de hacer una pregunta de tipo “cómo se hace”, coloca tu MRE directamente en la plantilla de reporte de errores – los campos “Pasos para reproducir” y “Entorno” están hechos justo para esto.
Para el recorrido completo sobre preguntas técnicas, consulta nuestra guía sobre cómo hacer buenas preguntas en Stack Overflow.