Es una cosa tener una prueba fallando, y tal vez tu prueba no tiene sentido, y no la entiendes, pero al menos sabes que algo está mal, ¿verdad? Es mucho peor cuando no tienes fallos en las pruebas, porque no tienes todas las pruebas correctas, y no entiendes qué está mal en absoluto. No sabemos cuándo se introdujo el problema en este caso, y en su lugar, hubiera sido genial si hubiéramos tenido algunas pruebas para detectarlo.
Así que esto me lleva a mi primera lección. Podríamos escribir la prueba ahora. Ahora que sabemos que hay un problema, podríamos escribir una prueba para esta funcionalidad que estaba rota, pero ¿cuándo deberíamos haber escrito esas pruebas? ¿Cuándo fue el momento ideal para haberlas escrito y luego tenerlas en el futuro? Hablemos de TDD. TDD es donde escribimos nuestras pruebas primero. Y esto puede ser genial, porque si escribimos nuestras pruebas primero, hay esta noción en TDD donde de alguna manera diseña la arquitectura de nuestra aplicación y cómo vamos a implementar las cosas. Y TDD es genial cuando sabemos dos cosas. Sabemos lo que necesitamos escribir, y sabemos dónde deben ir esas cosas que necesitamos escribir. Para saber esas dos cosas, ayuda tener patrones bien establecidos y frameworks que rara vez cambian, una forma establecida de hacer las cosas a la que estamos acostumbrados.
Eso no es front-end en 2024. Creo que tenemos el panorama más competitivo hasta ahora para frameworks y bibliotecas. Y eso es algo bueno. Eso es bastante genial, de hecho. He trabajado en algunos proyectos diferentes en el último año, y todos ellos han tenido tal vez como dos o tres frameworks diferentes y luego un puñado de bibliotecas diferentes. Las cosas se implementan de diferentes maneras, en diferentes proyectos, todo el tiempo. Si vas de una empresa a otra, podrías estar viendo dos arquitecturas muy diferentes.
Así que, sí, saber dónde poner todo desde el principio y usar pruebas para guiar eso, mira, esa es la cosa. Necesitas saber dónde van a ir las cosas para saber dónde vas a escribir tus pruebas. Y eso simplemente no es genial. TDD, front-end, no creo que se mezclen. Siempre he tenido problemas con eso. Así que hablemos de cuál es la alternativa. Probar al final tampoco es genial. ¿Quién ha escuchado a alguien decir esto? El trabajo de la característica está hecho. Solo necesito escribir las pruebas. He dicho esto en el stand-up. He escuchado a otros decir esto en el stand-up. Esto tampoco es genial. Esperar hasta el final solo convierte las pruebas en una tarea tediosa.
Comments