Este es el primer artículo de una serie sobre TDD en la que vamos a abordar muchos de los aspectos de esta metodología para enfocarlos directamente al desarrollo de aplicaciones Javascript.
Introducción
No cabe duda de que el desarrollo de aplicaciones web es diferente al de las aplicaciones de escritorio. La mayor parte del tiempo nos vemos pulsando F5 para refrescar el navegador, mirando rápidamente el contenido y volviendo de inmediato al editor para continuar escribiendo código. Esta misma combinación la repetimos tantas veces a lo largo del día que la hemos convertido en algo reflejo, automático, como un parpadeo.
Pero podemos ir más allá: cuando programamos para la web, no basta con ejecutar nuestro código en un sólo navegador. Cada pieza que escribimos, tenemos que comprobarla en una amplia lista de dispositivos y platadormas para, la mayoría de las veces, terminar trabajándola de forma específica en cada una de ellas.
Finalmente, no podemos olvidar el tema de la optimización. Las aplicaciones web consumen ancho de banda y tienen que descargarse en el cliente antes de ejecutarse. En el caso del Javascript, tenemos incluso otra variable: el entorno del usuario final. Esto significa que es importante conseguir códigos muy eficientes con el menor tamaño posible. La clave de este proceso está en la refactorización a la que volveremos más adelante.
En Javascript, toda la tarea de refactorización y tests se hace aún más importante debido a la naturaleza no intrusiva de este lenguaje: Javascript fue diseñado para mejorar la experiencia de usuario por lo que cuando se produce un error, éste lo hace de forma silenciosa. Por si esto no fuera suficiente, la información que facilitan los navegadores es, por lo general, escasa, críptica y poco intuitiva (cuando no errónea como en el caso de IE). Seguir Leyendo…