
Un día aleatorio en la vida de un desarrollador

Ayer comencé a revisar mi correo electrónico tan pronto como llegué al trabajo. Siempre comienzo mi día con el correo electrónico. Me gusta un poco el correo electrónico. Leí algunas cosas interesantes para mantenerme al día con la industria. Me ocupo de algunas cosas de negocios. Me manejo con algunas cosas personales. Tomo nota de las cosas más importantes que suceden.
¡Entonces sigue trabajando!
Solucioné un error que afectaba exclusivamente a Firefox. Este código establecería algunos elementos en una fila con flexbox, los dejaría ajustar y luego los miraría todos para ver cuáles se ajustaron y cuáles no. Luego puso los que estaban envueltos en un menú adicional. Parecía bastante simple. Pero algunos de los elementos estaban en negrita y otros no. Los que no estaban en negrita se redujeron de alguna manera 1,5 px en Firefox (pero en ningún otro navegador que miré). El código verificó si la top
posición era algo más alto 0
para verificar si estaban ajustados y, por lo tanto, marcó incorrectamente algunos elementos como ajustados. El código tuvo que flexibilizarse para dar cabida a eso.
Tuiteé algunas cosas que parecían particularmente interesantes ese día.
Hace unos días se registró un error en el que un par de botones pequeños no tenían el estilo o la alineación que debían tener en un cuadro de diálogo modal común. Al diagnosticar el problema, parece que tuvimos una extraña fusión de git en la que se fusionó un CSS más nuevo que asumía algo de HTML que aún no estaba del todo activo.
Decidí que la forma más limpia de avanzar era realizar el pequeño cambio de HTML que se avecinaba en la nueva rama en una nueva rama de reparación que pudiera desaparecer rápidamente. La alternativa era revertir el CSS y supongo que eso habría causado peores conflictos de fusión más adelante, además valía la pena aprovechar el estilo más nuevo y agradable ahora.
Luego, como por supuesto así era, el pequeño cambio de HTML provocó otro error. El JavaScript que estaba observando esos botones ya no pudo encontrarlos y no pude probarlo o, idealmente, escribir una prueba para ello. Entonces, tuve que arreglar eso también, pero lamentablemente solo después de que un usuario lo reportó. Dios, tengo que mejorar nuestras pruebas de integración allí.
Estudió en dos reuniones. Una era una reunión semanal estándar de actualización. Uno fue con una persona nueva que nunca había conocido antes y estábamos explorando si había una forma interesante en la que podíamos trabajar juntos.
Arreglé un error con una mala lógica de backend (que yo mismo había escrito, por supuesto). Quería mostrar información a un usuario en función, pensé, si estaban en un equipo o no. Entendí bien esa lógica, pero resulta que el mensaje dependía de que ese equipo estuviera activo (es decir, que no hubiera caducado de alguna manera), así que tuve que actualizar la lógica para tener en cuenta eso. El miembro de mi equipo me ayudó a pensarlo detenidamente porque no entendía suficientemente bien la forma en que la facturación y las suscripciones activas estaban vinculadas al usuario.
Solucioné un error por el cual un elemento de la interfaz de usuario mostraba un fuerte estado de advertencia, pero no había forma de descubrir cuál era el problema. Era un gran cuadro rojo con un signo de exclamación. Incluso tenía un estado flotante. Pero hacer clic en él no hizo nada.
Resulta que fue solo un problema con la delegación de eventos. Se agregó a la página después de que los controladores de clics intentarán vincular dos elementos como ese. Lo solucioné volviendo a vincular esos controladores de clic después de agregar la interfaz de usuario de error. No se sintió muy bien. Una mejor solución podría haber sido actualizar la delegación de eventos para que sea más eficiente en este caso. Pero eso me había quemado en el pasado, por lo que esta solución parecía más sólida, aunque menos elegante y eficiente.
Me hizo añorar que la página se trasladara a React, donde un error tonto en la delegación de eventos nunca habría sido un problema. No mucho después, solucioné otro error por el cual un controlador de clics se había vinculado a uno span.class_name
y el intervalo se actualizó para que saliera un botón. Esa fue una victoria semántica y de accesibilidad, pero rompió el controlador.
Nuevamente, algo que simplemente no sucede en React.
Luego escribí esta publicación de blog y me fui a casa.
Deja una respuesta