Atlasingeniería

Inglés técnicoLectura técnica — JuniorTema 3Junior

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

ParteEjemploQué te dice
TipoTypeErrorLa categoría: de tipos, de referencia, de red, de permisos
Qué pasóCannot read properties of undefinedLa causa inmediata, en una frase
El detalle(reading 'name')El dato exacto que falla: qué campo, qué archivo, qué valor
Dóndeat UserCard (src/components/UserCard.tsx:12:20)Archivo, línea y columna del código propio
La trazaat renderList… at App…Cómo se llegó hasta ahí, de lo más reciente a lo más viejo
La tercera fila es la que más se saltea y la que suele resolver el problema: dice exactamente qué dato faltaba.

Antes de seguir, predecí

«ECONNREFUSED 127.0.0.1:5432». ¿Qué está diciendo?

Las frases de error que más se repiten

FraseQué significa en la práctica
is not a functionLo que llamaste existe pero no es lo que creías: mirá qué importaste
Cannot read properties of undefinedAlgo que esperabas que tuviera valor llegó vacío
Unexpected tokenHay un error de sintaxis, o el contenido no es del formato esperado
Maximum call stack size exceededUna recursión sin caso base, o dos funciones llamándose entre sí
Connection refusedNadie escucha en ese puerto
Connection timed outAlguien escucha pero no contesta a tiempo, o un firewall en el medio
Permission deniedEl usuario del proceso no puede hacer eso
No such file or directoryLa ruta está mal, o es relativa a otro lugar del que creías
Address already in useYa hay algo corriendo en ese puerto
Out of memoryEl proceso pidió más memoria de la que había: mirá qué acumula
Diez frases cubren buena parte de lo que se ve en un día de trabajo, en cualquier lenguaje.
  • 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»

Cinco que aparecen en cualquier conversación sobre un error.

Cómo se lee un hilo de issue

En treinta segundos

  1. 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.
  2. 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.
  3. Buscá los comentarios de los mantenedores. Tienen una etiqueta al lado del nombre —«Member», «Collaborator», «Owner»— y son los que deciden.
  4. Buscá «workaround». Es la palabra que marca una solución provisional mientras no hay arreglo oficial. Suele ser lo que viniste a buscar.
  5. Mirá la fecha. Un hilo de 2019 sobre una versión que ya no usás puede no aplicarte.
Expresión del hiloQué significa
Can you provide a minimal reproduction?Sin un ejemplo mínimo que falle, no van a poder ayudarte
This is expected behaviourNo es un error: funciona así a propósito
PRs welcomeReconocen el problema y no lo van a hacer ellos; si lo querés, mandalo vos
Stale / marked as staleUn bot lo va a cerrar por inactividad, no porque se haya resuelto
Duplicate of #123La conversación sigue en otro hilo
Works for meNo pudieron reproducirlo; falta información de tu entorno
Good first issueMarcado como apto para una primera contribución
«PRs welcome» es de las más útiles de reconocer: es una invitación, y esos suelen ser los mejores primeros aportes a un proyecto abierto.

Lo que preguntan sobre esto

Cierre

Autoevaluación

¿Lo entendiste?

En una traza de error, ¿cuál es la línea más útil?
«Connection timed out» frente a «Connection refused»: ¿qué cambia?
Un mantenedor responde «PRs welcome». ¿Qué significa?
Un issue está «marked as stale». ¿Qué pasó?
En un hilo largo, ¿dónde suele estar la solución real?