Entender un error y una discusión en un issue
Un mensaje de error en inglés casi siempre dice exactamente qué pasó, en una estructura fija de tres partes. Y un hilo de issue tiene convenciones propias que, una vez conocidas, permiten saber en treinta segundos si ahí está tu respuesta.
Aparece un error de doce líneas en inglés y el reflejo es copiarlo y pegarlo en un buscador sin leerlo. A veces funciona. Muchas veces la respuesta estaba en la primera línea, escrita con una estructura que se repite en todos los lenguajes: qué tipo de problema, qué pasó exactamente, y dónde.
Lo mismo con los issues: parecen conversaciones sueltas y tienen convenciones bastante fijas. Saber dónde mirar convierte un hilo de sesenta comentarios en treinta segundos de lectura.
La anatomía de un mensaje de error
| Parte | Ejemplo | Qué te dice |
|---|---|---|
| Tipo | TypeError | La categoría: de tipos, de referencia, de red, de permisos |
| Qué pasó | Cannot read properties of undefined | La causa inmediata, en una frase |
| El detalle | (reading 'name') | El dato exacto que falla: qué campo, qué archivo, qué valor |
| Dónde | at UserCard (src/components/UserCard.tsx:12:20) | Archivo, línea y columna del código propio |
| La traza | at renderList… at App… | Cómo se llegó hasta ahí, de lo más reciente a lo más viejo |
Antes de seguir, predecí
Las frases de error que más se repiten
| Frase | Qué significa en la práctica |
|---|---|
| is not a function | Lo que llamaste existe pero no es lo que creías: mirá qué importaste |
| Cannot read properties of undefined | Algo que esperabas que tuviera valor llegó vacío |
| Unexpected token | Hay un error de sintaxis, o el contenido no es del formato esperado |
| Maximum call stack size exceeded | Una recursión sin caso base, o dos funciones llamándose entre sí |
| Connection refused | Nadie escucha en ese puerto |
| Connection timed out | Alguien escucha pero no contesta a tiempo, o un firewall en el medio |
| Permission denied | El usuario del proceso no puede hacer eso |
| No such file or directory | La ruta está mal, o es relativa a otro lugar del que creías |
| Address already in use | Ya hay algo corriendo en ese puerto |
| Out of memory | El proceso pidió más memoria de la que había: mirá qué acumula |
issue
/ˈɪʃuː/ · suena como íshu
Error común: decir «isú» o «issue» leído en castellano
null
/nʌl/ · suena como nal
Error común: decir «nul» con u cerrada
route
/ruːt/ o /raʊt/ · suena como rut (o raut en Estados Unidos)
Error común: confundirlo con root, que es /ruːt/ siempre
warning
/ˈwɔːnɪŋ/ · suena como uórning
Error común: decir «varning» con v
thread
/θred/ · suena como zred, con la lengua entre los dientes
Error común: decir «tred»
El audio lo genera tu navegador con voz sintetizada: alcanza para orientarse, y una persona que habla inglés lo dice mejor.
Cómo se lee un hilo de issue
En treinta segundos
- Mirá si está cerrado y por qué. «Closed as completed» con un enlace a un cambio significa que se arregló; «closed as not planned» significa que no lo van a hacer.
- Leé el primer mensaje y el último. El primero describe el problema; el último suele tener la conclusión. El medio casi siempre es exploración.
- Buscá los comentarios de los mantenedores. Tienen una etiqueta al lado del nombre —«Member», «Collaborator», «Owner»— y son los que deciden.
- Buscá «workaround». Es la palabra que marca una solución provisional mientras no hay arreglo oficial. Suele ser lo que viniste a buscar.
- Mirá la fecha. Un hilo de 2019 sobre una versión que ya no usás puede no aplicarte.
| Expresión del hilo | Qué significa |
|---|---|
| Can you provide a minimal reproduction? | Sin un ejemplo mínimo que falle, no van a poder ayudarte |
| This is expected behaviour | No es un error: funciona así a propósito |
| PRs welcome | Reconocen el problema y no lo van a hacer ellos; si lo querés, mandalo vos |
| Stale / marked as stale | Un bot lo va a cerrar por inactividad, no porque se haya resuelto |
| Duplicate of #123 | La conversación sigue en otro hilo |
| Works for me | No pudieron reproducirlo; falta información de tu entorno |
| Good first issue | Marcado como apto para una primera contribución |
Lo que preguntan sobre esto
Cierre
Autoevaluación
¿Lo entendiste?
Práctica