Ingles para Code Review
Por que la revision de codigo requiere ingles especial
Sección titulada «Por que la revision de codigo requiere ingles especial»La revision de codigo no es simplemente retroalimentacion tecnica, es comunicacion de equipo. Una mala eleccion de palabras puede:
- Parecer arrogante o sarcastico
- Danar la motivacion de los colegas
- Causar malentendidos (especialmente en equipos interculturales)
- Hacer que parezca que esta “buscando defectos” en lugar de ayudar sinceramente
La buena noticia es que existe un conjunto estandar de expresiones que todos entienden.
10 expresiones esenciales para la revision de codigo
Sección titulada «10 expresiones esenciales para la revision de codigo»1. Nit (problema menor)
Sección titulada «1. Nit (problema menor)»“Nit” viene de “nitpick” (buscar defectos minimos), pero en revision de codigo es un termino positivo que significa “esto es menor, no afecta el panorama general, pero vale la pena mejorar”.
"This variable name is bad""Nit: could we rename this to `userCount`?""Minor: I'd prefer `userCount` for clarity"Cuando usarlo:
- Problemas de nomenclatura, formato, estilo
- Sugerencias de refactorizacion (no obligatorias pero mejores)
- Complementos de documentacion
2. LGTM (Looks Good To Me)
Sección titulada «2. LGTM (Looks Good To Me)»Abreviatura que indica que termino la revision y esta de acuerdo con la fusion.
LGTM!O mas formal:
LGTM. Great implementation.3. Blocker (problema bloqueante)
Sección titulada «3. Blocker (problema bloqueante)»Problema grave que debe corregirse antes de fusionar.
Blocker: This will cause a race condition in `handleUserLogin`.Here's why: ...Cuando usarlo:
- Problemas de seguridad
- Regresion de rendimiento
- Defectos funcionales
- Riesgo de perdida de datos
4. Nice catch (buena observacion)
Sección titulada «4. Nice catch (buena observacion)»Cuando alguien encuentra un bug, problema de rendimiento o requerimiento oculto, usted confirma que tienen razon.
Nice catch! I didn't think about the edge case where `null` ...O:
Good eye! This would definitely break on large datasets.5. Could you elaborate (podria explicar mas)
Sección titulada «5. Could you elaborate (podria explicar mas)»Cuando no entiende por que se escribio asi, o quiere entender la decision de diseno.
Could you elaborate on why we're using `Map` instead of `Object`?Version mas amigable:
I'm curious about the choice to use `Map` here. Could you walk me through the reasoning?6. Nitpick (una version mas fuerte de “nit”)
Sección titulada «6. Nitpick (una version mas fuerte de “nit”)»Mas directo que “nit”, indica que realmente es un detalle, pero vale la pena mejorar.
Nitpick: Could we add a blank line here for readability?7. Looks good (esta parte esta bien)
Sección titulada «7. Looks good (esta parte esta bien)»Se usa para acuerdo parcial. Por ejemplo, esta de acuerdo con la logica pero quiere preguntar sobre otra parte.
This part looks good. One question about line 42: why are we...?8. We should probably (sugerencia)
Sección titulada «8. We should probably (sugerencia)»Sugerencia amable, no obligatoria pero recomendada.
We should probably add error handling here for the case where the API call fails.9. Have you considered (pregunta abierta)
Sección titulada «9. Have you considered (pregunta abierta)»Propone una alternativa sin decir directamente “deberia hacerse asi”. Esto da espacio para que el autor piense.
Have you considered using `useCallback` to prevent unnecessary re-renders?10. Ship it (vamos a publicar)
Sección titulada «10. Ship it (vamos a publicar)»La aprobacion mas casual, indica que ya reviso y no hay problemas, puede ponerse en produccion.
Ship it!La formula de cortesia para la revision de codigo
Sección titulada «La formula de cortesia para la revision de codigo»Al senalar un problema
Sección titulada «Al senalar un problema»Formula: Contexto → Problema → Sugerencia
"This code is inefficient"
"In `processUserData`, iterating `O(n^2)` might be slow with large datasets. Could we use a `Set` to get `O(n)` instead?"Al tener una opinion diferente
Sección titulada «Al tener una opinion diferente»No esta de acuerdo con una decision de diseno?
"That's wrong"
"I see your approach. One concern: `Math.random()` isn't cryptographically secure for auth tokens. Should we use `crypto.getRandomValues()`?"Aprobar y hacer preguntas tambien
Sección titulada «Aprobar y hacer preguntas tambien»No diga solo “bien”. Haga preguntas constructivas:
LGTM
LGTM! Curious: did you benchmark this against the regex approach we discussed? I'm wondering if it's noticeably faster for production scale.Modo Express en la revision de codigo
Sección titulada «Modo Express en la revision de codigo»Su idea en su idioma nativo → Tres opciones en ingles → Elija la mas adecuada
Escenario 1: Senalar un bug
Sección titulada «Escenario 1: Senalar un bug»Quiere decir: “Aqui hay una condicion de carrera, multiples solicitudes van a chocar”
Abra el modo Express de DevGlish:
Input: "Aqui hay una condicion de carrera, multiples solicitudes van a chocar"
Basic (Direct): "There is a race condition here, multiple requests will conflict"
Intermediate (Natural): "Multiple concurrent requests could cause a race condition"
Native (Idiomatic): "Concurrent requests might race here. Consider using a lock or queue." Tip: Dar directamente la direccion de la solucion, en vez de solo senalar el problemaElija “Native”, o combine varios niveles:
Blocker: Multiple concurrent requests could race here. Consider adding a lock or queue to serialize writes.Escenario 2: Sugerir un cambio de nombre con cortesia
Sección titulada «Escenario 2: Sugerir un cambio de nombre con cortesia»Quiere decir: “El nombre de esta variable es demasiado largo, se podria acortar”
Input: "El nombre de esta variable es demasiado largo, se podria acortar"
Basic (Direct): "This variable name is too long"
Intermediate (Natural): "Could we use a shorter variable name?"
Native (Idiomatic): "Nit: `getCurrentUserAuthenticationStatusFlag` is a bit verbose. How about `isAuthenticated`?" Tip: Proporcionar una sugerencia concreta es mas util que solo decir "acortelo"Errores comunes en la revision de codigo
Sección titulada «Errores comunes en la revision de codigo»Interferencia comun de hablantes de espanol
Sección titulada «Interferencia comun de hablantes de espanol»| Expresion incorrecta | Causa | Mejor version |
|---|---|---|
| ”This code is not good” | Demasiado directo, parece arrogante | ”Could we refactor this for clarity?" |
| "You must change this” | Suena como una orden | ”We should probably change this" |
| "This is wrong” | Hiriente | ”This might cause X in scenario Y" |
| "The code of the function is bad” | Uso excesivo de “of" | "The function could be clearer” |
Lista de expresiones para revision de codigo
Sección titulada «Lista de expresiones para revision de codigo»Preparando una revision de codigo importante? Guarde estas expresiones en la etiqueta code-review de su cuaderno de palabras:
Essential Phrases (15 entries) ├─ "Nit: " ├─ "LGTM" ├─ "Nice catch" ├─ "Blocker: " ├─ "Could you elaborate on..." ├─ "Have you considered..." ├─ "We should probably..." └─ [mas...]
Questions & Suggestions (10 entries) ├─ "I'm not sure about X. Could we discuss?" ├─ "Did you benchmark this?" ├─ "Any edge cases we should handle?" └─ [mas...]
Praise (5 entries) ├─ "Great implementation" ├─ "Love this pattern" └─ [mas...]Antes de escribir la revision, de un vistazo rapido a esta lista para asegurar que su tono sea profesional y amigable.
Tabla de referencia rapida
Sección titulada «Tabla de referencia rapida»| Situacion | Expresion |
|---|---|
| De acuerdo + problema menor | LGTM, just one nit: … |
| Desacuerdo con una decision | I see your approach, but have we considered…? |
| Problema grave | Blocker: This will cause… |
| Sugerencia menor | Nit: Could we…? |
| Aprobacion + querer aprender | Nice! Could you explain why you chose…? |
| No seguro | I’m not sure about this. Could we discuss? |
| Totalmente de acuerdo | LGTM! Ship it. |