SlideShare una empresa de Scribd logo
SOLID Refactor (o cómo saber si refactorizar o no)
¿Qué haces tú aquí? (o quién soy y por qué me decidí a hacer esta charla)
Me presento Enrique Amodeo Me dedico al software
> 10 años de experiencia
Desarrollo y arquitectura de software
Consultoría y formación
> 4 años haciendo agilismo
Mail:  [email_address]
Blog:  http://eamodeorubio.wordpress.com/
Sígueme, leches:  @eamodeorubio Con esta pose saldré más guapo
Hace un tiempo…
Refactor: Qué y Por qué
¿Qué es refactor? Es una transformación de código
No altera la funcionalidad del software
Pero sí el diseño
¿Qué es refactor? Es una transformación de código
No altera la funcionalidad del software
Pero sí el diseño ¿Y esto para qué sirve?
¿Qué es refactor? Parte integral del ciclo de TDD TDD sin refactor no asegura calidad Después de un refactor pasar test para asegurarse que no se cambió la funcionalidad Requisito / Tarea / Bug Escribir Test Unitario ¿Pasa Test? Refactor ¿Necesita Refactor? Luces Verdes! SI NO SI Escribir / Arreglar Código Aplicación Ejecutar Test NO
¿Cuando tengo que refactorizar? Requisito / Tarea / Bug Escribir Test Unitario ¿Pasa Test? Refactor ¿Necesita Refactor? Luces Verdes! SI NO SI Escribir / Arreglar Código Aplicación Ejecutar Test NO
¿Cuándo tengo que refactorizar? El código no es de suficiente calidad
Tienes tiempo (cuidado con el timebox)
El beneficio en calidad compensa el coste
¿Cuándo tengo que refactorizar? El código no es de suficiente calidad
Tienes tiempo (cuidado con el timebox)
El beneficio en calidad compensa el coste ¿Calidad? No quiero liarme con plugins, métricas y demás
Midiendo la calidad a ojo: SOLID y DRY (o cómo saber si el código es bueno de un vistazo)
Calidad sin herramientas Evaluar de un vistazo la calidad del código
Reglas prácticas de fácil aplicación
Reglas sencillas y claras para evitar polémicas

Más contenido relacionado

PDF
Seminario SOLID-TDD
PPT
Como hacer tdd y no morir en el intento
PDF
Apuntes #XPweek
PPTX
Introducción a Unit Testing y TDD
PPT
Encadenamiento de refactorings para generar cambios Agiles de Diseño
PDF
Como escribir buenos tests al hacer TDD
ODP
Cómo hacer Test Driven Development
PPT
Tdd on the rocks
Seminario SOLID-TDD
Como hacer tdd y no morir en el intento
Apuntes #XPweek
Introducción a Unit Testing y TDD
Encadenamiento de refactorings para generar cambios Agiles de Diseño
Como escribir buenos tests al hacer TDD
Cómo hacer Test Driven Development
Tdd on the rocks

La actualidad más candente (20)

PPTX
TDD Course (Spanish)
PDF
Taller de Unit Testing y TDD en Java: Parte 1
PDF
Introducción a TDD
PPT
Desarrollo Guiado Por Pruebas
PPTX
Principios SOLID
PDF
Automatización de interfaces e introducción a bdd
PPTX
Principios de diseño de código orientado a objetos SOLID
PPT
Spring Inyección De Dependencias
PPTX
Jugando con javascript
PDF
BDD & Cucumber
PDF
Introducción a automatización de pruebas web
PPTX
[ALM09] Calidad en el código con Visual Studio 2010
PDF
Test Driven Development
PPTX
BDD - Desarrollo dirigido por comportamiento
PDF
BDD y tests automatizados
PDF
ATDD - Desarrollo Dirigido por Test de Aceptación
PPTX
Tdd desde las trincheras
PPT
Guia numero 1
KEY
El proceso de desarrollo con herramientas Open Source
PDF
Stop the agile micro-management
TDD Course (Spanish)
Taller de Unit Testing y TDD en Java: Parte 1
Introducción a TDD
Desarrollo Guiado Por Pruebas
Principios SOLID
Automatización de interfaces e introducción a bdd
Principios de diseño de código orientado a objetos SOLID
Spring Inyección De Dependencias
Jugando con javascript
BDD & Cucumber
Introducción a automatización de pruebas web
[ALM09] Calidad en el código con Visual Studio 2010
Test Driven Development
BDD - Desarrollo dirigido por comportamiento
BDD y tests automatizados
ATDD - Desarrollo Dirigido por Test de Aceptación
Tdd desde las trincheras
Guia numero 1
El proceso de desarrollo con herramientas Open Source
Stop the agile micro-management
Publicidad

Destacado (9)

PDF
Cas2010 los-principios-agiles-como-guia-o-por-que-querras-volver-a-modelos-tr...
PDF
diploma
PDF
Wissmuth wissen
PPT
Topología de Red
PPT
Marlos, Priscila, Willian
PPT
Carolina, Guilherme
PDF
Wissmuth visuell
PPT
Como nascemos
PPT
CONFERENCIA DE GESTION FARMACEUTICA
Cas2010 los-principios-agiles-como-guia-o-por-que-querras-volver-a-modelos-tr...
diploma
Wissmuth wissen
Topología de Red
Marlos, Priscila, Willian
Carolina, Guilherme
Wissmuth visuell
Como nascemos
CONFERENCIA DE GESTION FARMACEUTICA
Publicidad

Similar a Taller SOLID Refactor (20)

PPTX
Buenas practicas desarrollando software
PDF
Clean code y SOLID
PPTX
SOLID - ¿Cómo lo aplico a mi código?
PDF
Code Smells y SOLID: A qué huele tu código?
PPTX
Principios SOLID de Diseño Orientado a Objetos
PPTX
Solid Principles
PDF
Mantenimiento-Software-escuela nivel medio.pdf
PDF
Desarrollo rapido de software libre de alta calidad UOC 2015 tesis maestria
PPTX
Clean code javascript
PPTX
presen_final_ componentes insoetenibilidad
PPT
Volviendo a poner el “soft” en software
PPTX
Refactoring code smelss
PPT
Ingenieria open source
PPT
Esto es ingeniería inversa
PPTX
S.O.L.I.D. with practical examples
PPTX
Scrum y craftsmanship
PPTX
PDF
Principios de diseño
PPTX
Cuida tu código: Clean Code
PDF
Tdd bdd-practico-dominio-rico
Buenas practicas desarrollando software
Clean code y SOLID
SOLID - ¿Cómo lo aplico a mi código?
Code Smells y SOLID: A qué huele tu código?
Principios SOLID de Diseño Orientado a Objetos
Solid Principles
Mantenimiento-Software-escuela nivel medio.pdf
Desarrollo rapido de software libre de alta calidad UOC 2015 tesis maestria
Clean code javascript
presen_final_ componentes insoetenibilidad
Volviendo a poner el “soft” en software
Refactoring code smelss
Ingenieria open source
Esto es ingeniería inversa
S.O.L.I.D. with practical examples
Scrum y craftsmanship
Principios de diseño
Cuida tu código: Clean Code
Tdd bdd-practico-dominio-rico

Más de Agile Spain (20)

PDF
Lessons learned from contrasting Design Thinking and Agile Project Management...
PDF
Visual Scrum - What you see is What you get
PDF
Un Primer Paso a la Agilidad: Retrospectivas para el Aprendizaje de la Ingeni...
PDF
Análisis de la implementación de prácticas ágiles en Argentina
PDF
Como cocinar tu contrato ágil
ODP
Introducción a la agilidad
PDF
Cas2010 desarrollo-de-aplicaciones-en-la-nube-con-scrum-y-xp
PDF
Cas2010 gestion-agil-de-la-configuracion
PDF
Cas2010 itinerario-implementacion-agil
PDF
Cas2010 gestion-agil-de-equipos
PDF
Cas2010 integrando-practicas-agiles-y-de-experiencia-de-usuario
PDF
Cas2010 toolchain-for-agile-teams-traceability-from-product-vision-to-working...
PDF
Cas2010 to-track-defects-or-not-to-track-defects-that-is-the-question
PDF
Cas2010 is-there-space-for-testers-in-agile-projects
PDF
Cas2010 one-year-of-software-developments-to-win-a-world-racing-championship
PDF
Cas2010 pair-programming-strategies
PDF
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
PDF
Cas2010 herramientas-de-pruebas-unitarias-pex-y-moles
PDF
Ser ágil en España, un caso real con equipos de trabajo en remoto
PDF
Cuore.js: Una historia de amor
Lessons learned from contrasting Design Thinking and Agile Project Management...
Visual Scrum - What you see is What you get
Un Primer Paso a la Agilidad: Retrospectivas para el Aprendizaje de la Ingeni...
Análisis de la implementación de prácticas ágiles en Argentina
Como cocinar tu contrato ágil
Introducción a la agilidad
Cas2010 desarrollo-de-aplicaciones-en-la-nube-con-scrum-y-xp
Cas2010 gestion-agil-de-la-configuracion
Cas2010 itinerario-implementacion-agil
Cas2010 gestion-agil-de-equipos
Cas2010 integrando-practicas-agiles-y-de-experiencia-de-usuario
Cas2010 toolchain-for-agile-teams-traceability-from-product-vision-to-working...
Cas2010 to-track-defects-or-not-to-track-defects-that-is-the-question
Cas2010 is-there-space-for-testers-in-agile-projects
Cas2010 one-year-of-software-developments-to-win-a-world-racing-championship
Cas2010 pair-programming-strategies
Cas2010 behavior-driven-development-aplicado-en-acceptance-test-automation
Cas2010 herramientas-de-pruebas-unitarias-pex-y-moles
Ser ágil en España, un caso real con equipos de trabajo en remoto
Cuore.js: Una historia de amor

Taller SOLID Refactor