TDD en Javascript: III Parte

Introducción

Llegamos a la tercera entrega de nuestra introducción al TDD en Javascript. En los capítulos anteriores (I Parte) (II Parte), habíamos visto la teoría general sobre el Desarrollo Dirigido por Tests así como las herramientas más interesantes de las que disponemos para implementarla.

Una vez revisados los frameworks del tipo xUnit, quedan por analizar otras soluciones similares que buscan el mismo resultado pero desde otra perspectiva. De entre estos puntos de vista alternativos, ha ido ganando fuerza la metodología denominada por Dan North como BDD. Conocerla, nos permitirá además enfrentarnos a algunos de los problemas que los expertos han detectado en la TDD más clásica. Seguir Leyendo…

Dentro de Javascript, TDD | Etiquetas: , , , , | 2 Comentarios

TDD en Javascript: II parte

En la primera entrega de esta introducción al TDD, hablamos sobre las ventajas y posibles inconvenientes de utilizar la metodología de Desarrollo Dirigido por Tests prestando una atención especial a su uso en Javascript. Si hasta el momento la teoría nos ha resultado lo suficientemente interesante como para comenzar a practicarla, en esta segunda veremos algunas de las herramientas que nos facilitarán su implementación en nuestros proyectos.

En este apartado, la herramienta sin duda más importante será un framework que nos permita aplicar nuestras afirmaciones (asserts) sobre el código que queremos evaluar. Es por eso que durante este artículo, revisaremos algunos de los entornos más importantes. Seguir Leyendo…

Dentro de Javascript, TDD | Etiquetas: , , | 1 Comentario

TDD en Javascript: I parte

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…

Dentro de Javascript, TDD | Etiquetas: , , | 5 Comentarios

Javascript isArray() definitivo

Tras comentar con un colega el último post sobre Duck Typing, me lanzó un desafío: crear la función isArray() definitiva para Javascript.

Es cierto que la mayoría de lenguajes poséen un método para identificar si el tipo de datos de una variable corresponde con un Array, pero Javascript no es uno de ellos. Es por eso que hace falta implementarlo por nosotros mismos igual que hacen las principales librerías como jQuery, Mootools o Dojo.

Después de hacer muchas pruebas y refactorización, he llegado a dos soluciones válidas para todos los casos: una utilizando la herencia prototípica y la otra siguendo la metodología del Duck Typing.

Ambas han sido probada en varios entornos con idénticos resultados en rendimiento y fiabilidad. Seguir Leyendo…

Dentro de Javascript | Etiquetas: , , | 4 Comentarios

Duck Typing en Javascript Chequeando los tipos de datos

El Duck Typing, en los lenguajes de programación, es una técnica para determinar si un objeto es una instacia de una determinada clase basándose únicamente en los métodos que implementa.

La idea tras este paradigma es sencillo: si el objeto analizado posée un cierto conjunto de propiedades características (o exclusivas) de un objeto determinado, es muy probable que se trate de ese mismo objeto.

“Si parece un pato, anda como un pato y hace ‘cuack’ como los patos, es un pato.”

Seguir Leyendo…

Dentro de Javascript | Etiquetas: , , , , | 7 Comentarios
Página 20 de 29Primera...10...1819202122...Última
Licencia Creative Commons 3.0

®Copyright 2011. Cotenido web bajo licencia Creative Commons 3.0

Códigos bajo licencias MIT y GPL. Ver página de licencias para más información