Jugando con javascript
Upcoming SlideShare
Loading in...5
×
 

Jugando con javascript

on

  • 209 views

Deck de la presentación en el evento Ágiles 2013 en Lima Perú. Charla sobre como aplicar diseño evolucionario, refactoring y TDD cuando se codifica con Javascript.

Deck de la presentación en el evento Ágiles 2013 en Lima Perú. Charla sobre como aplicar diseño evolucionario, refactoring y TDD cuando se codifica con Javascript.

Statistics

Views

Total Views
209
Views on SlideShare
209
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Jugando con javascript Jugando con javascript Presentation Transcript

  • Jugando con Javascript de forma segura Paolo Carrasco
  • Supuestos Recordamos lo que es POO Tenemos noción de cómo programar en JavaScript
  • Hechos de la vida real • • • • • Diseñaremos nuestro código Revisaremos nuestro código Cambiaremos nuestro código Otras personas van a leer nuestro código Habrán bugs  (citado de la charla de Rebecca Murphey en Full Frontal 2012)
  • ¿Cómo lidiar con esto?
  • a) Codificar probando manualmente contra nuestra aplicación
  • b) Haciendo Pruebas Integrales/Journeys Ventajas ● Cada prueba involucra distintos componentes del sistema ● Interactúan únicamente con la interface más externa ● Casi nunca es necesario usar doubles Desventajas ● Demoran mucho ● Cuando fallan, es difícil rastrear cuál fue el motivo del error
  • c) Haciendo pruebas unitarias (atómicas) Ventajas Desventajas ● Cuando fallan, es sencillo identificar cuál es el problema ● Son ejecutadas rápidamente ● Son simples, concisos y con una única intención ● Debe verificar el comportamiento solo de un componente ● En muchas ocasiones necesita el uso de mocks
  • d) Haciendo ambas
  • Pirámide de pruebas
  • Pero cuando desarrollamos en el frontend… • • • • Las pruebas son hechas al final (son difíciles y no son importantes) No usamos patrones Preferimos no tocar mucho lo que ya se hizo Queremos tener claro el diseño de nuestra aplicación por adelantado
  • ¿Por qué lo hacemos así? ● ● Porque hay poco tiempo Porque pensamos que no se puede hacer TDD en Javascript
  • ¿Cómo lograrlo?
  • Diseño evolucionario
  • TDD No trata sobre pruebas, sino de diseño
  • ¿Qué es Refactor? Mejora del código ya existente sin modificar su comportamiento
  • ¿Por qué refactor? Continuamente mejorando el diseño Código limpio Sencillo de leer Sencillo de cambiar Menos code smells
  • ¿Por qué TDD? Ayuda a tener confianza en cambiar el código Forma predecible para desarrollar Oportunidad para aprender del código Evita errores
  • ¿Cómo comenzar?
  • Herramientas mainstream para unit testing Jasmine Qunit Sinon.js Mocha Chai.js
  • Hello world • Usando Javascript con TDD
  • Algo más real • Listado de recetas
  • En resumen... ¿Diseño evolucionario? ¿TDD? ¿Refactor?
  • ¡Muchas gracias! Q&A paolo.carrasco@thoughtworks.com http://join.thoughtworks.com
  • Para revisar • • • • Antipatterns Javascript Test Pyramid Phantom.js – Casper.js Grunt