Esa tarde estaba en mi puesto haciendo el vago cuando, de repente, el grupo explotó: GitHub no abría. Al principio pensé que era la red de la empresa, pero al mirar Twitter, todos los desarrolladores del mundo estaban lamentándose. Alguien bromeó diciendo que podría haber sido el día con la mayor caída de productividad en la historia de la humanidad. Al principio me reí, hasta que me di cuenta de que mi proyecto tenía que salir ese mismo día.
La cosa fue así: tenía un pequeño proyecto, y los recursos del frontend empaquetados sumaban unos 3 MB de código JS. Normalmente el despliegue se hacía por CI, pero como GitHub se cayó, el CI no funcionaba, así que tuve que subir manualmente los archivos ya construidos localmente al servidor. Mientras los subía, me extrañó lo lento que iba, la barra de progreso avanzaba como un caracol. Después de casi diez minutos, por fin terminó, pero al abrir la página, pantalla en blanco.
Pensé que era un problema del servidor, revisé los logs durante un buen rato y al final descubrí que algo había salido mal durante la transferencia: se habían colado algunos caracteres extraños en el código. Me quedé helado, solo faltaban media hora para el lanzamiento, no había tiempo para reconstruir y no tenía copia de seguridad para revertir. En ese momento me di cuenta de verdad de que si normalmente tuviera la costumbre de comprimir el código, el archivo sería la mitad de grande, la probabilidad de error en la transferencia sería mucho menor y quizás habría llegado a tiempo.
¿Cómo lo resolví después? Encontré una herramienta en línea que había guardado sin darle importancia, llamada JS格式化压缩. Normalmente no la usaba, pensaba que mientras el código funcionara, daba igual comprimirlo o no. Pero ese día, desesperado, metí el código fuente local de 3 MB, hice clic en comprimir y en unos segundos salió un archivo de 1.2 MB. Lo subí corriendo, reemplacé el archivo dañado, actualicé la página y listo.
En ese momento me quedé mirando la pantalla con sentimientos encontrados. La compresión de código, que normalmente parece insignificante, incluso superflua —ahora que la velocidad de internet es tan rápida y el ancho de banda tan barato, ¿a quién le importa un poco de tamaño?—, pero cuando surge una situación imprevista, como que GitHub se caiga, el CI falle o la red tiemble, te das cuenta de que un tamaño pequeño es una verdad irrefutable. No solo ahorra tráfico, también reduce el tiempo de transferencia, disminuye la probabilidad de errores e incluso te salva en un momento crítico.
Y, sinceramente, los beneficios de la compresión de código van mucho más allá. El código comprimido es más difícil de leer para quien quiera robar la lógica; aunque no es cifrado, al menos detiene a los que hacen clic derecho para ver el código fuente. Además, los archivos comprimidos cargan más rápido, mejorando la experiencia del usuario, sobre todo en móviles, donde unos cientos de KB menos pueden significar un segundo menos de pantalla en blanco. Antes pensaba que todo esto eran tonterías, pero después de esa experiencia, cambié por completo.
Ahora mi costumbre es que cada vez que termino de construir, paso el código por JS格式化压缩 y luego lo despliego. No cuesta nada, pero me da tranquilidad. Nunca sabes si el mañana o el imprevisto llegarán primero; GitHub se cae, el CI falla, la red tiembla, pero un archivo pequeño y comprimido siempre será tu plan B más sólido.
Así que no esperes a que ocurra algo para arrepentirte. Comprime un poco más a diario, puede salvarte en un momento crítico. No es ninguna técnica avanzada, es solo un hábito simple, pero a menudo son estos pequeños hábitos los que determinan si entras en pánico o actúas con calma.