Evaluar código

Categories:

Hasta ahora, a medida que escribimos código, lo ejecutamos para verificar que funcione correctamente.

Aunque vimos de manera generar cómo utilizar jslint para mejorar la calidad del código que escribimos no es suficiente para el código que vamos a estar utilizando de manera constante en nuestros proyectos.

Entre más grande sea el código o más personas se encuentren trabajando en él va a ser más difícil evaluar la funcionalidad. Si llega a existir algún error, es más difícil determinar si las correcciones que realicemos afectan otras partes del código.

Una manera que tenemos para asegurar que el código funcione correctamente es crear pruebas automatizadas. De esta manera, cuando el código se modifique – agregar, quitar o modificar secciones del código – , las pruebas continúan para verificar que siga funcionando.

Si hay algún error va a ser más fácil localizarlo para corregirlo. Si las correcciones realizadas llegan a generar algún error en otra parte del código, vamos tener retroalimentación por parte de las pruebas para tomar en cuenta.

El primer acercamiento

Un primer acercamiento es utilizar algún framework para evaluar código que tengamos escrito.
De esta manera podemos conocer y familiarizamos con algún framework para integrarlo como parte del flujo de trabajo para evaluar código que aún no tengamos escrito.

Test Driven Development / Behavior Driven Development

El desarrollo guiado por pruebas (Test Driven Development – TDD) es un flujo de trabajo en el cuál se escriben las pruebas antes del código. Funciona de la siguiente manera.


Se escribe una prueba para evaluar el código.
 Como no hay código escrito, la prueba va a fallar.

Ya que se cuenta una prueba que está fallando, se tiene que escribir el código para que la prueba pase.

A veces es conveniente volver a escribir secciones código – refactorizar – por diversas razones como:

  • Eliminar funcionalidad duplicada.
  • Separar la funcionalidad (separar métodos / funciones que realizan varias tareas en funciones que realicen menos tareas).
  • Mejorar el rendimiento.
  • Hacer más legible el código o conservar un estilo de escritura.


Las pruebas nos pueden ayudar durante el proceso de refactorización para asegurar que la funcionalidad se conserva aún que el código base se está volviendo a escribir.

El desarrollo guiado por comportamiento (Behavior Driven Development – BDD) es similar al TDD, la diferencia radica en el tipo de especificaciones que se evalúan. Mientras en el desarrollo guiado por pruebas se busca evaluar la manera técnica del código en el desarrollo guiado por comportamiento se busca que las especificaciones de las tareas se cumplan (un poco más abstracto).

¿Cómo evaluar código JavaScript?
Hasta ahora había hablado de manera general acerca de las pruebas y de los flujos de trabajo pero hablando particularmente de javascript dos frameworks que podemos utilizar para evaluar el código son Jasmine y qUnit.