Ruido del editor: comillas, comas y reindentados que tapan el diff
Cincuenta líneas modificadas de las cuales dos importan. El editor cambió comillas, agregó comas finales y reindentó un bloque, y ahora el revisor tiene que encontrar el cambio real entre el ruido.
Abrís un archivo, tocás dos líneas, guardás. El editor —con su configuración, distinta de la del resto del equipo— cambia comillas dobles por simples en todo el archivo, agrega comas finales, reindenta un bloque que estaba con otra sangría.
El diff muestra cincuenta líneas. Dos son tuyas. El revisor no sabe cuáles.
Por qué no es un detalle
| Consecuencia | Cómo se ve |
|---|---|
| La review se vuelve superficial | El revisor filtra a ojo y aprueba lo que parece formato; un cambio de lógica escondido pasa |
| El historial se rompe | La herramienta que muestra quién cambió cada línea apunta al reformateo, no a quien escribió la lógica |
| Los conflictos se multiplican | Dos ramas que reformatearon distinto el mismo archivo chocan en líneas que ninguna de las dos quiso tocar |
| Se discute lo que no importa | Media review sobre comillas, cero sobre el caso que falta |
Hay una versión peor: el reformateo accidental con un cambio de comportamiento adentro. No hace falta mala intención para que pase; alcanza con que nadie pueda revisar cincuenta líneas de ruido con atención.
La solución no es pedir cuidado
Esto no se arregla con disciplina individual, porque cada persona tiene su editor configurado como le gusta. Se arregla sacando la decisión de las manos de todos.
Lo que lo elimina de raíz
- Un formateador con configuración en el repositorio. El formato deja de ser una opinión y pasa a ser una salida determinística: todos guardan y el resultado es idéntico.
- Verificación en el pipeline. El formato se chequea automáticamente; nadie comenta comillas en una review nunca más.
- Configuración del editor versionada. Fin de línea, sangría y codificación acordados en un archivo del proyecto, para que el editor de cada uno se alinee solo.
- Formatear sólo lo que se toca, si el proyecto todavía no está formateado por completo. La mayoría de las herramientas permite limitar el formateo a las líneas modificadas.
Los otros ruidos del diff
El formateo no es el único. Hay cuatro que aparecen seguido y tienen el mismo efecto.
Qué más ensucia un cambio
- Fin de línea distinto. Un equipo con sistemas operativos mezclados y sin normalización produce diffs donde el archivo entero figura como modificado.
- Archivos generados versionados. Un bloqueo de dependencias o un artefacto de construcción que cambia por completo en cada instalación.
- Reordenar imports automáticamente con una regla que no comparte el resto del equipo.
- Renombres masivos mezclados con lógica, que es el caso que hace que un bug pase inadvertido.
Antes de seguir, predecí
Encontrar las dos líneas que importan
Hay 4 problemas en este cambio. Tocá la línea donde creas que está.
| 1 | |||
| 2 | |||
| 1 | |||
| 2 | |||
| 3 | 3 | ||
| 4 | |||
| 5 | |||
| 6 | |||
| 7 | |||
| 8 | |||
| 9 | |||
| 4 | |||
BloqueaY un parámetro nuevo que nadie usa La función ahora recibe coupon y no lo usa en ninguna parte del cuerpo. O quedó a medias, o era de otra tarea. Es exactamente el tipo de cosa que se aprueba de largo cuando el diff tiene cincuenta líneas y la atención ya se gastó en leer reformateo. | |||
| 5 | |||
BloqueaAcá está el cambio real, y hay que buscarlo Se agregó la multiplicación por cantidad: antes el subtotal ignoraba cuántas unidades se compraban. Es un arreglo de facturación, es una línea, y está enterrado entre catorce líneas de comillas, sangría y punto y coma. Quien revisa tiene que encontrarlo antes de poder pensarlo. | |||
| 6 | |||
| 7 | |||
SugerenciaLa reindentación borra el historial de estas líneas Pasar de cuatro espacios a dos hace que cada una de estas líneas figure como modificada por vos en el historial. Dentro de seis meses, buscar quién escribió la lógica del impuesto va a llevar a este cambio, que no la tocó. | |||
| 8 | |||
| 9 | |||
Dieciséis líneas cambiadas, dos que importan, y una de las dos es un arreglo de facturación.
Cómo se elimina de raíz
Cierre
Autoevaluación
¿Lo entendiste?
Práctica
SugerenciaEl editor cambió comillas en todo el archivo
Dobles por simples, sin que nadie lo pidiera. No rompe nada y convierte dos líneas de cambio en dieciséis. La solución no es pedirle a la gente que tenga cuidado: es que el formato lo decida una herramienta configurada en el repositorio, igual para todos.