SlideShare une entreprise Scribd logo
1  sur  37
Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br/es

Principios de la Refactorización
http://www.slideshare.net/rodrigobranas
Rodrigo Branas
rodrigo.branas@agilecode.com.br
http://www.agilecode.com.br
•
•
•
•

Desarrollo de Software en Gennera
Entrenamientos en Agile Code
Artículos en Java Magazine
Conferencias sobre desarrollo de software
en eventos, universidades y empresas
Formación Académica

Ciencias de la Computación - UFSC
Gestión de Proyectos - FGV
Certificaciones

SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM
Experiencia

Desde hace más de 12 años desarrollando
software en la plataforma Java en las empresas:
EDS, HP, NET, Citibank, GM, Dígitro, Softplan,
OnCast, Senai, VALE, RBS, Unimed, Globalcode,
V.Office, Suntech, WPlex e Gennera.
¿Que es Refactoring?
“Modificación hecha en la estructura
interna del software para mejorar
su comprensión y abaratar el costo
de mantenimiento sin alterar su
comportamiento externo.”
(Martin Fowler)
“Refactorización es la arte de
evolucionar el design del código.”
(William C. Wake)
“Refactorización es una manera de
mantener el software sostenible y
competitivo a lo largo del tiempo.”
Refactorización es una inversión
Ahorro proporcional
Lamentablemente, lo contrario es
verdadero
Como negociar actividades de
refactorización con su gerente?
Charla entre el Desarrollador y su Gerente
Desarrollador: Rodrigo, necesito hacer una refactorización en el código!
Gerente: ¿Refactorización? ¿Que es eso, tu vás a melhorar la performance?
Desenvolvedor: No, no...
Gerente: ¿Vás a dejar la interfaz más bonita y más fácil de usar?
Desenvolvedor: No...
Gerente: ¿Qué vas a hacer?
Desenvolvedor: “Haré una modificación en la estructura interna del
software para mejorar su comprensión y abaratar el costo de
mantenimiento sin alterar su comportamiento externo.” (Martin Fowler)
Gerente: No.
Refactorize con un propósito
Esté atento a las oportunidades
Refactore a la hora de anãdir
nuevas funcionalidades
Refactore cuando for
arreglar un defecto
Refactore cuando precisar
comprender el código
Los 7 enemigos de la
refactorización
Desconocimiento
No se dar cuenta de lo problema
es una de las causas principales.
Es normal ver desarrolladores
experientes que no dan atención
a la calidad del código.
Inmediatismo
Pensar solo en resolver los
problemas, sin considerar que la
naturaleza del desarrollo de
software es el cambio.
Ventanas Rotas
Tenemos dificuldades en tratar com
las ventanas rotas. Sea en nuestra
dieta, en nuestro matrimonio y en
el desarrollo de software, el
desánimo de las ventanas rotas
pueden llevar al fracaso.
Trabajo en Equipo
Es fácil culpar el pasante. El
equipo debe mantener el código
en orden y con calidad.
Gestión
Normalmente, sea por el
desconocimiento o por la presión
comercial, la refactorización tiende a
ser evitada por la dirección.
Pruebas Automatizadas
La falta de automatización de pruebas
torna el desarrollo más inseguro y la
refactorización puede plantear
problemas.
¿Cuando no debemos
refactorizar?
Cerca del plazo de entrega
La mayoría de empresas
necesitan contraer deudas para
mantenerse en el mercado
Cuidado, los interés son muy altos!
Desafios de la refactorización
Refactorización (EN ESPANOL)

Contenu connexe

Tendances

Desarrollo rápido de aplicaciones (rad)
Desarrollo rápido de aplicaciones (rad)Desarrollo rápido de aplicaciones (rad)
Desarrollo rápido de aplicaciones (rad)Jean Carlos Toa
 
Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)Jenyfer Utitiaja
 
RIPv2 - Routing Information Protocol version 2 v2.1
RIPv2 - Routing Information Protocol version 2 v2.1RIPv2 - Routing Information Protocol version 2 v2.1
RIPv2 - Routing Information Protocol version 2 v2.1Gianpietro Lavado
 
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking VN
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsMuhammad Shehata
 
Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Anthony Sotolongo
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Darthuz Kilates
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101Hazzim Anaya
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosFranklin Parrales Bravo
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiCuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiJimmy Davila
 
Real Time Recommendations Using WebSockets and Redis - Ninad Divadkar, Inuit
Real Time Recommendations Using WebSockets and Redis - Ninad Divadkar, InuitReal Time Recommendations Using WebSockets and Redis - Ninad Divadkar, Inuit
Real Time Recommendations Using WebSockets and Redis - Ninad Divadkar, InuitRedis Labs
 
Cell relay
Cell relayCell relay
Cell relaykahmal
 
SparkOscope: Enabling Apache Spark Optimization through Cross Stack Monitorin...
SparkOscope: Enabling Apache Spark Optimization through Cross Stack Monitorin...SparkOscope: Enabling Apache Spark Optimization through Cross Stack Monitorin...
SparkOscope: Enabling Apache Spark Optimization through Cross Stack Monitorin...Databricks
 
Modelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - MoprosoftModelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - MoprosoftRicardo Juarez
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Temario sistemas programables
Temario   sistemas programablesTemario   sistemas programables
Temario sistemas programablesYuseff Bladeshark
 

Tendances (20)

Manual Iptables
Manual IptablesManual Iptables
Manual Iptables
 
Desarrollo rápido de aplicaciones (rad)
Desarrollo rápido de aplicaciones (rad)Desarrollo rápido de aplicaciones (rad)
Desarrollo rápido de aplicaciones (rad)
 
Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)Rad (desarrollo rápido de aplicaciones)
Rad (desarrollo rápido de aplicaciones)
 
RIPv2 - Routing Information Protocol version 2 v2.1
RIPv2 - Routing Information Protocol version 2 v2.1RIPv2 - Routing Information Protocol version 2 v2.1
RIPv2 - Routing Information Protocol version 2 v2.1
 
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKI
 
Ipsec
IpsecIpsec
Ipsec
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
 
Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4Evolucion de PostgreSQL hasta 9.4
Evolucion de PostgreSQL hasta 9.4
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
Introducción a microservicios
Introducción a microserviciosIntroducción a microservicios
Introducción a microservicios
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidos
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiCuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Real Time Recommendations Using WebSockets and Redis - Ninad Divadkar, Inuit
Real Time Recommendations Using WebSockets and Redis - Ninad Divadkar, InuitReal Time Recommendations Using WebSockets and Redis - Ninad Divadkar, Inuit
Real Time Recommendations Using WebSockets and Redis - Ninad Divadkar, Inuit
 
Cell relay
Cell relayCell relay
Cell relay
 
SparkOscope: Enabling Apache Spark Optimization through Cross Stack Monitorin...
SparkOscope: Enabling Apache Spark Optimization through Cross Stack Monitorin...SparkOscope: Enabling Apache Spark Optimization through Cross Stack Monitorin...
SparkOscope: Enabling Apache Spark Optimization through Cross Stack Monitorin...
 
Modelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - MoprosoftModelos de calidad CMMI - Moprosoft
Modelos de calidad CMMI - Moprosoft
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Temario sistemas programables
Temario   sistemas programablesTemario   sistemas programables
Temario sistemas programables
 

En vedette (12)

Eclipse refactoring
Eclipse refactoringEclipse refactoring
Eclipse refactoring
 
Fundamentos de la Refactorización
Fundamentos de la RefactorizaciónFundamentos de la Refactorización
Fundamentos de la Refactorización
 
Estrategias de Pruebas de Software
Estrategias de Pruebas de SoftwareEstrategias de Pruebas de Software
Estrategias de Pruebas de Software
 
Caja negra!!
Caja negra!!Caja negra!!
Caja negra!!
 
Pruebas de caja blanca y negra
Pruebas  de caja blanca y negraPruebas  de caja blanca y negra
Pruebas de caja blanca y negra
 
Caja negra (ejemplos)...
Caja negra (ejemplos)...Caja negra (ejemplos)...
Caja negra (ejemplos)...
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Introducción a JUnit
Introducción a JUnitIntroducción a JUnit
Introducción a JUnit
 
Javadoc
JavadocJavadoc
Javadoc
 

Similaire à Refactorización (EN ESPANOL)

Pruebas Automatizadas (EN ESPANOL)
Pruebas Automatizadas (EN ESPANOL)Pruebas Automatizadas (EN ESPANOL)
Pruebas Automatizadas (EN ESPANOL)Rodrigo Branas
 
Informe gerencial sobre Moprosoft
Informe gerencial sobre MoprosoftInforme gerencial sobre Moprosoft
Informe gerencial sobre MoprosoftHoward Pernía
 
Proyectos Informaticoa22222
Proyectos Informaticoa22222Proyectos Informaticoa22222
Proyectos Informaticoa22222Irsyal Renaldi
 
Proyectos Informaticoa
Proyectos InformaticoaProyectos Informaticoa
Proyectos InformaticoaIrsyal Renaldi
 
3 Atos Solo Pruebas 2009
3 Atos Solo Pruebas 20093 Atos Solo Pruebas 2009
3 Atos Solo Pruebas 2009Pepe
 
Mejora de Procesos para Desarrollar Software Mejor
Mejora de Procesos para Desarrollar Software MejorMejora de Procesos para Desarrollar Software Mejor
Mejora de Procesos para Desarrollar Software MejorPablo F. Sanchez
 
fases de programacion
fases de programacionfases de programacion
fases de programacioncamila1727
 
Tm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareTm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareJulio Pari
 
Zeety lineamientos de trabajo
Zeety   lineamientos de trabajoZeety   lineamientos de trabajo
Zeety lineamientos de trabajogrupozeety
 
Presentación gathering ees2
Presentación gathering ees2Presentación gathering ees2
Presentación gathering ees2Etna Estrella
 
AUGBCN - Agile¿What?
AUGBCN - Agile¿What?AUGBCN - Agile¿What?
AUGBCN - Agile¿What?Marc Florit
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieriaAlexander Cruz
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariaJoshernandezcar
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de SoftwareJiuseppe Flores
 

Similaire à Refactorización (EN ESPANOL) (20)

Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Maven (EN ESPANOL)
Maven (EN ESPANOL)Maven (EN ESPANOL)
Maven (EN ESPANOL)
 
Pruebas Automatizadas (EN ESPANOL)
Pruebas Automatizadas (EN ESPANOL)Pruebas Automatizadas (EN ESPANOL)
Pruebas Automatizadas (EN ESPANOL)
 
Informe gerencial sobre Moprosoft
Informe gerencial sobre MoprosoftInforme gerencial sobre Moprosoft
Informe gerencial sobre Moprosoft
 
Proyectos Informaticoa22222
Proyectos Informaticoa22222Proyectos Informaticoa22222
Proyectos Informaticoa22222
 
Proyectos Informaticoa
Proyectos InformaticoaProyectos Informaticoa
Proyectos Informaticoa
 
3 Atos Solo Pruebas 2009
3 Atos Solo Pruebas 20093 Atos Solo Pruebas 2009
3 Atos Solo Pruebas 2009
 
Mejora de Procesos para Desarrollar Software Mejor
Mejora de Procesos para Desarrollar Software MejorMejora de Procesos para Desarrollar Software Mejor
Mejora de Procesos para Desarrollar Software Mejor
 
fases de programacion
fases de programacionfases de programacion
fases de programacion
 
Tm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareTm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de software
 
Zeety lineamientos de trabajo
Zeety   lineamientos de trabajoZeety   lineamientos de trabajo
Zeety lineamientos de trabajo
 
Presentación gathering ees2
Presentación gathering ees2Presentación gathering ees2
Presentación gathering ees2
 
Scrum
ScrumScrum
Scrum
 
Guiadesupervivencia desarrollodesoftware
Guiadesupervivencia desarrollodesoftwareGuiadesupervivencia desarrollodesoftware
Guiadesupervivencia desarrollodesoftware
 
AUGBCN - Agile¿What?
AUGBCN - Agile¿What?AUGBCN - Agile¿What?
AUGBCN - Agile¿What?
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieria
 
Metodología scrum
Metodología scrumMetodología scrum
Metodología scrum
 
Roles de los desarrolladores
Roles de los desarrolladoresRoles de los desarrolladores
Roles de los desarrolladores
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agosto
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
 

Plus de Rodrigo Branas

Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasRodrigo Branas
 
Node.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasNode.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasRodrigo Branas
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasRodrigo Branas
 
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasNode.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasRodrigo Branas
 
Node.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasNode.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasRodrigo Branas
 
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasNode.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasRodrigo Branas
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisasRodrigo Branas
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - IntroduçãoRodrigo Branas
 
#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remotoRodrigo Branas
 
#3 - Git - Branching e Merging
#3 - Git - Branching e Merging#3 - Git - Branching e Merging
#3 - Git - Branching e MergingRodrigo Branas
 
A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJSRodrigo Branas
 
JavaScript - Expressões Regulares
JavaScript - Expressões RegularesJavaScript - Expressões Regulares
JavaScript - Expressões RegularesRodrigo Branas
 
Automação de Testes com AngularJS
Automação de Testes com AngularJSAutomação de Testes com AngularJS
Automação de Testes com AngularJSRodrigo Branas
 
HTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSHTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSRodrigo Branas
 

Plus de Rodrigo Branas (20)

Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
 
Node.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasNode.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo Branas
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo Branas
 
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasNode.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo Branas
 
Node.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasNode.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo Branas
 
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasNode.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - Introdução
 
#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto
 
#4 - Git - Stash
#4 - Git - Stash#4 - Git - Stash
#4 - Git - Stash
 
#3 - Git - Branching e Merging
#3 - Git - Branching e Merging#3 - Git - Branching e Merging
#3 - Git - Branching e Merging
 
#2 - Git - DAG
#2 - Git - DAG#2 - Git - DAG
#2 - Git - DAG
 
A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJS
 
JavaScript - Date
JavaScript - DateJavaScript - Date
JavaScript - Date
 
JavaScript - Expressões Regulares
JavaScript - Expressões RegularesJavaScript - Expressões Regulares
JavaScript - Expressões Regulares
 
Automação de Testes com AngularJS
Automação de Testes com AngularJSAutomação de Testes com AngularJS
Automação de Testes com AngularJS
 
Scope AngularJS
Scope AngularJSScope AngularJS
Scope AngularJS
 
HTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSHTTP Interceptors com AngularJS
HTTP Interceptors com AngularJS
 

Dernier

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Dernier (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Refactorización (EN ESPANOL)

Notes de l'éditeur

  1. Refatore com um propósito, sejaparaadicionarfuncionalidades, corrigirdefeitosoumesmoentenderumaregra de negócio
  2. Refatore com um propósito, sejaparaadicionarfuncionalidades, corrigirdefeitosoumesmoentenderumaregra de negócio
  3. Refatore com um propósito, sejaparaadicionarfuncionalidades, corrigirdefeitosoumesmoentenderumaregra de negócio
  4. Refatore com um propósito, sejaparaadicionarfuncionalidades, corrigirdefeitosoumesmoentenderumaregra de negócio
  5. Falta de testes, stored procedures