SlideShare ist ein Scribd-Unternehmen logo
1 von 82
Downloaden Sie, um offline zu lesen
Code Smells y SOLID
A qué huele tu código?




http://village.blogs.pressdemocrat.com/10315/recap-whos-ready-for-summer/?tc=ar
Comencemos!!




http://lifesabusiness.files.wordpress.com/2011/05/lets-start.jpg?w=600&h=400
Porqué es
necesario
escribir un
buen código?
Desarrollo de Software Tradicional
http://www.flickr.com/photos/futureshape/4000128011/
Mucho software
actual se
comporta como
un juego de Jenga
http://www.albertelli.com/photoarchive/Random_2003/lawn_jenga0002.jpeg
Unpequeño


                                                             cambio…


http://amistadcuauti.files.wordpress.com/2008/08/jenga.jpg
Provoca
efectos por
      todas
   partes...




http://design-crit.com/blog/images/jenga.jpg
Necesitamos un
  cambio en el
      sistema…




  http://raulpiriz.files.wordpress.com/2010/09/alg_jefe.jpg
Produce
  temor…




http://blog.rwbenwick.com/wp-content/uploads/2009/12/Reason-For-Leaving-iStock_000008369823Medium.jpg
http://www.albertelli.com/photoarchive/Random_2003/lawn_jenga0002.jpeg
Pasamos más
                                                                                     tiempo
                                                                            leyendo código
                                                                                        que
                                                                              escribiéndolo




http://photos.pcpro.co.uk/blogs/wp-content/uploads/2010/10/frustrated.jpg
Costo de poseer código “No Mantenible”
Ellos podrán ayudarnos?
Ustedes!!




http://www.catosplace.net/blogs/personal/wp-content/uploads/2011/04/developers.jpg
Actitud                  http://www.flickr.com/photos/designd15/4220055968/in/photostream/




“Escribir código que entienda la computadora es una
técnica; escribir código que entienda un ser humano
           es un Arte” – Robert ‘Uncle Bob’ Martin
Entonces, ¿Por
                                                                              qué es
                                                                        importante
                                                                      escribir mejor
                                                                            código?

http://www.websoftwareqa.com/wp-content/uploads/2010/07/Computer-Code.jpg
Fácil de Entender



Fácil de Cambiar



      Barato de Mantener
Cómo detectar
Dónde puedo       si lo estoy
encontrar la      haciendo mal?
información que
necesito?
                  Qué puedo
                  aplicar y qué
Qué patrones      no?
resuelven este
problema?
y muchos más…
Code Smells




Cómo detectar un
código mal oliente?
Qué son los Code Smells?
     Son todos los síntomas que
podemos encontrar en el código
       fuente de un sistema que
indican que muy probablemente
         existan problemas más
 profundos de calidad de código,
          de diseño o de ambos.
Rigidez




          http://www.naturecabins.com/solar/images_600x400/20080525_steel_beam_closeup.JPG
Rigidez es la tendencia que
  posee el software a ser
 difícil de cambiar, incluso
    en formas sencillas o
     cambios mínimos.
Fragilidad




http://www.flickr.com/photos/tsvadivel/4780317627/
Fragilidad es la tendencia
 que posee un programa
para romperse en muchos
lugares cuando un simple
   cambio es realizado.
Inamovilidad




http://4.bp.blogspot.com/_b5RFglsqS4k/Rm2_uGVsxuI/AAAAAAAACfY/CkpR-E0HsV0/s400/sumo.jpg
Inamovilidad es la
 dificultad de separar el
sistema en componentes
      que pueden ser
   reutilizados en otros
         sistemas.
http://photos.runic.com/photos/syrup1.jpg




Viscosidad
Viscosidad se presenta
 cuando hacer las cosas
incorrectamente es más
  fácil que hacerlas del
     modo correcto.
Ambiente de desarrollo lento e
ineficiente

Tiempos muy largos de compilación

Subir el código toma horas

Hacer el deploy toma varios
minutos
Complejidad
                                                                      innecesaria




http://www.funglode.org/Portals/0/images/Sala_de_Prensa/2010/Marzo/Complejidad%20interior.jpg
Complejidad innecesaria
existe cuando hay muchos
      elementos que
actualmente no son útiles.
Repetición
                                                                          innecesaria




http://www.fondospantallagratis.com/wp-content/uploads/2009/03/fichas_de_domino.jpg
Repetición innecesaria es
 cuando el código posee
estructuras repetidas que
pueden ser unificadas bajo
  una sola abstracción.
Opacidad




http://img.fotocommunity.com/photos/11575434.jpg
Opacidad es la tendencia
que posee un módulo a ser
     difícil de leer y
      comprender.
http://fotos0.mundofotos.net/2008/19_11_2008/nostalgica1227105482/perrito-oliendo-flores.jpg




A qué huele tu código?
Un buen
                                                                             desarrollador
                                                                                  tiene un
                                                                                olfato fino




http://vinos.viaresto.com.ar/sites/default/files/Foto-aroma.jpg?1308074199
http://www.shrink4men.com/wp-content/uploads/2010/12/pointing-finger.jpg




Si Usted posee…
Código ilegible




http://3.bp.blogspot.com/_-XV87BeCV9Y/SwLqj5UzO8I/AAAAAAAAA4g/hzaxblNx1jw/s1600/IMG_2385.JPG
Código duplicado




http://www.matrix-explained.com/photopost/data/512/39100hugo3.jpg
Métodos muy Laaaargos!!




http://1.bp.blogspot.com/-
VqyZkA5M2eU/T35ixp0dD_I/AAAAAAAAAN4/pppIVZSeHbQ/s1600/548383_393176807378912_329870347042892_1399267_792609564_n.jpg
Clases muy                       grandes




http://cache2.allpostersimages.com/p/LRG/21/2163/18ACD00Z/posters/miller-john-huge-tyres-big-foot-customised-car-usa.jpg
http://www.zonelibere.net/images/stories/zenstones.jpg




                                                         Refactorizar
http://4.bp.blogspot.com/-RhAnCDMlvts/Tptjf9pQcZI/AAAAAAAAAUU/lJSYMataDOM/s1600/mecanismo-reloj.jpg




Cambiar la estructura interna del
código…
http://4.bp.blogspot.com/-RhAnCDMlvts/Tptjf9pQcZI/AAAAAAAAAUU/lJSYMataDOM/s1600/mecanismo-reloj.jpg


Sin alterar su comportamiento visible…




 Cambiar la estructura interna…
http://img.alibaba.com/wsphoto/v0/390462787/6pcs-lot-free-
shipping-2011-new-arrival-vintage-pocket-watch-necklaces.jpg
Obtener un código más
          simple.

  La refactorización enseña
técnicas para descubrir código
  de mala calidad y técnicas
       para cambiarlo.
http://theicebergfestival.ca/wp-content/gallery/iceberg-photos-2009/iceberg2.jpg




S.O.L.I.D
Single Responsibility Principle
Open / Close Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Bueno, manos a la obra!!
Single Responsibility Principle
                      “Cada objeto debe tener
                        una responsabilidad
                            única, y esta
                        responsabilidad debe
                        estar completamente
                       encapsulada dentro de
                               la clase”
      “Las clases deben tener una única
     responsabilidad, una única razón de
                   cambio”
Open / Close Principle
               “Una clase debe
              estar abierta para
                extensión pero
                 cerrada para
                modificación”
Liskov Substitution Principle




  “Las clases derivadas deben ser
  sustituidas por sus clases base”
Interface Segregation Principle
                  “Mantenga interfaces
                    finas a un nivel de
                granularidad que el cliente
                         necesita.

                 Los clientes no deben ser
                  forzados a depender de
                interfaces que no utilizan.”
Dependency Inversion Principle
                     “Clases de alto nivel
                     no deben depender
                      de clases de bajo
                     nivel. Ambas deben
                       depender de sus
                        abstracciones”

     “Dependa de abstracciones, no de
           objetos concretos”
SOLID hace
que tu código
   huela bien
Gracias!

           @JohnnyOrdonez
Referencias

 • Clean Code: A Handbook of Agile Software Craftsmanship,
   Robert C. Martin (Aug 11, 2008) http://www.amazon.com/Clean-Code-
   Handbook-Software-Craftsmanship/dp/0132350882


 • Agile Software Development, Principles, Patterns, and
   Practices, Robert C. Martin (Oct 25, 2002) http://www.amazon.com/Software-
   Development-Principles-Patterns-Practices/dp/0135974445

 • Code Smells, Louhekon (2010) http://www.louhekon.fi/2010/02/code-
   smells/

 • A Taxonomy for "Bad Code Smells ", Mika Mäntylä (2010)
   http://www.soberit.hut.fi/mmantyla/BadCodeSmellsTaxonomy.htm
Referencias

 • A Taxonomy for "Bad Code Smells ", Mika Mäntylä (2010)
   http://www.soberit.hut.fi/mmantyla/BadCodeSmellsTaxonomy.htm


 • SOLID Software Design, AbbasRaza (2012)
   http://www.slideshare.net/theceo/solid-software-design


 • SOLID OO Principles, Andreas Enbohm (2011)
   http://www.slideshare.net/enbohm/solid-design-principles-9016117


 • The SOLID Principles in C#, Leon van Bokhorst (2012)
   http://www.remondo.net/solid-principles-csharp-single-responsibility/


 • A qué huele tu código?, Rubén Bernárdez (2011)
   http://www.slideshare.net/rubenbp/a-qu-huele-tu-cdigo-afinando-nuestro-
   olfato-7400175
Más Code
       Smells y Tips
     para corregirlos


                                                                         Tomado de:

http://www.slideshare.net/rubenbp/a-qu-huele-tu-cdigo-afinando-nuestro-olfato-7400175
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo
Code Smells y SOLID para un código óptimo

Weitere ähnliche Inhalte

Was ist angesagt?

Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwareTtomas Carvajal
 
Métodos de ordenación externa
Métodos de ordenación externaMétodos de ordenación externa
Métodos de ordenación externaEdwin Narváez
 
Herramientas case alto y bajo nivel
Herramientas case alto y bajo nivelHerramientas case alto y bajo nivel
Herramientas case alto y bajo nivelsistemaaabbbb
 
4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.Jose Maldonado Cortes
 
Articulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasArticulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasMario J Arrieta
 
ORACLE EJERCICIO LABORATORIO
ORACLE EJERCICIO LABORATORIOORACLE EJERCICIO LABORATORIO
ORACLE EJERCICIO LABORATORIOSefira111
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Rodrigo Kono
 
The Single Responsibility Principle
The Single Responsibility PrincipleThe Single Responsibility Principle
The Single Responsibility PrincipleLars-Erik Kindblad
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design PrinciplesAndreas Enbohm
 
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipIvan Paulovich
 

Was ist angesagt? (20)

Solid Principles
Solid PrinciplesSolid Principles
Solid Principles
 
Manual sql
Manual sqlManual sql
Manual sql
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Refactoring
RefactoringRefactoring
Refactoring
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de software
 
Métodos de ordenación externa
Métodos de ordenación externaMétodos de ordenación externa
Métodos de ordenación externa
 
SOLID Principles
SOLID PrinciplesSOLID Principles
SOLID Principles
 
Herramientas case alto y bajo nivel
Herramientas case alto y bajo nivelHerramientas case alto y bajo nivel
Herramientas case alto y bajo nivel
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.
 
Articulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemasArticulo de análisis y diseño de sistemas
Articulo de análisis y diseño de sistemas
 
Prototipado del software
Prototipado del softwarePrototipado del software
Prototipado del software
 
ORACLE EJERCICIO LABORATORIO
ORACLE EJERCICIO LABORATORIOORACLE EJERCICIO LABORATORIO
ORACLE EJERCICIO LABORATORIO
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
 
The Single Responsibility Principle
The Single Responsibility PrincipleThe Single Responsibility Principle
The Single Responsibility Principle
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design Principles
 
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software Craftsmanship
 
Metodo radix
Metodo radixMetodo radix
Metodo radix
 

Andere mochten auch

¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfatoRubén Bernárdez
 
Desarrollo de-software-basado-en-reutilizacion
Desarrollo de-software-basado-en-reutilizacionDesarrollo de-software-basado-en-reutilizacion
Desarrollo de-software-basado-en-reutilizacionMarvin Arteaga
 
Refactoring - Mejorando el diseño del código existente
Refactoring - Mejorando el diseño del código existenteRefactoring - Mejorando el diseño del código existente
Refactoring - Mejorando el diseño del código existenteMariano Sánchez
 
Refactoring e Code Smells: Seu código está apodrecendo!
Refactoring e Code Smells:  Seu código está apodrecendo!Refactoring e Code Smells:  Seu código está apodrecendo!
Refactoring e Code Smells: Seu código está apodrecendo!Emanuel Canuto
 
Refactoring for design smells
Refactoring for design smellsRefactoring for design smells
Refactoring for design smellsGanesh Samarthyam
 
Cylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics ProjectsCylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics ProjectsLuis Toscano
 
Principios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosPrincipios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosJose E. Rodriguez Huerta
 
Estimación Ágil, Story Points y Planning Poker
Estimación Ágil, Story Points y Planning PokerEstimación Ágil, Story Points y Planning Poker
Estimación Ágil, Story Points y Planning PokerJohnny Ordóñez
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilSorey García
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e PráticaEduardo Pires
 
Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Rodrigo Branas
 
Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para DummiesSorey García
 

Andere mochten auch (20)

Los olores del código
Los olores del códigoLos olores del código
Los olores del código
 
¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Services factory
Services factoryServices factory
Services factory
 
Desarrollo de-software-basado-en-reutilizacion
Desarrollo de-software-basado-en-reutilizacionDesarrollo de-software-basado-en-reutilizacion
Desarrollo de-software-basado-en-reutilizacion
 
Refactoring - Mejorando el diseño del código existente
Refactoring - Mejorando el diseño del código existenteRefactoring - Mejorando el diseño del código existente
Refactoring - Mejorando el diseño del código existente
 
Automatic API REST Droidcon
Automatic API REST DroidconAutomatic API REST Droidcon
Automatic API REST Droidcon
 
Refactoring e Code Smells: Seu código está apodrecendo!
Refactoring e Code Smells:  Seu código está apodrecendo!Refactoring e Code Smells:  Seu código está apodrecendo!
Refactoring e Code Smells: Seu código está apodrecendo!
 
Bad smells no código
Bad smells no códigoBad smells no código
Bad smells no código
 
Refactoring for design smells
Refactoring for design smellsRefactoring for design smells
Refactoring for design smells
 
Cylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics ProjectsCylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics Projects
 
Principios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosPrincipios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a Objetos
 
Proyecto morse
Proyecto morseProyecto morse
Proyecto morse
 
Estimación Ágil, Story Points y Planning Poker
Estimación Ágil, Story Points y Planning PokerEstimación Ágil, Story Points y Planning Poker
Estimación Ágil, Story Points y Planning Poker
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvil
 
ejemplos de pruebas unitarias y de integracion
ejemplos de pruebas unitarias y de integracion ejemplos de pruebas unitarias y de integracion
ejemplos de pruebas unitarias y de integracion
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e Prática
 
Deconstrucción de SOLID
Deconstrucción de SOLIDDeconstrucción de SOLID
Deconstrucción de SOLID
 
Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)Clean Code (EN ESPANOL)
Clean Code (EN ESPANOL)
 
Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para Dummies
 

Ähnlich wie Code Smells y SOLID para un código óptimo

Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Alfredo Chavez
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Alfredo Chavez
 
Ensayo aprendido en el semestre
Ensayo aprendido en el semestreEnsayo aprendido en el semestre
Ensayo aprendido en el semestreza_bluee
 
Ensayo de redes
Ensayo de redesEnsayo de redes
Ensayo de redesza_bluee
 
Herramientas Educativas
Herramientas EducativasHerramientas Educativas
Herramientas EducativasMiguel Angel
 
Web quest netiqueta
Web quest netiquetaWeb quest netiqueta
Web quest netiquetapamira
 
Objetos virtuales de aprendizaje en e-learning 2.0
Objetos virtuales de aprendizaje en e-learning 2.0Objetos virtuales de aprendizaje en e-learning 2.0
Objetos virtuales de aprendizaje en e-learning 2.0David Ramírez
 
Stc tecnologia junio 0214
Stc tecnologia junio 0214Stc tecnologia junio 0214
Stc tecnologia junio 0214Fausto Perez
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteCarlos Toxtli
 
Device Days 2012 - HTML5 y CSS3 para móvil
Device Days 2012 - HTML5 y CSS3 para móvilDevice Days 2012 - HTML5 y CSS3 para móvil
Device Days 2012 - HTML5 y CSS3 para móvilJavier Usobiaga
 
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Pilmee Gates
 
Me encanta que los estándares salgan bien
Me encanta que los estándares salgan bien Me encanta que los estándares salgan bien
Me encanta que los estándares salgan bien Isabel Cabezas Martín
 
Diseñando la web móvil con HTML5 y CSS3
Diseñando la web móvil con HTML5 y CSS3Diseñando la web móvil con HTML5 y CSS3
Diseñando la web móvil con HTML5 y CSS3Marta Armada
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.jsINSIGNIA4U
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plonementtes
 

Ähnlich wie Code Smells y SOLID para un código óptimo (20)

Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Developing for Android (The movie)
Developing for Android (The movie)Developing for Android (The movie)
Developing for Android (The movie)
 
Ensayo aprendido en el semestre
Ensayo aprendido en el semestreEnsayo aprendido en el semestre
Ensayo aprendido en el semestre
 
Ensayo de redes
Ensayo de redesEnsayo de redes
Ensayo de redes
 
Herramientas Educativas
Herramientas EducativasHerramientas Educativas
Herramientas Educativas
 
Web quest netiqueta
Web quest netiquetaWeb quest netiqueta
Web quest netiqueta
 
Objetos virtuales de aprendizaje en e-learning 2.0
Objetos virtuales de aprendizaje en e-learning 2.0Objetos virtuales de aprendizaje en e-learning 2.0
Objetos virtuales de aprendizaje en e-learning 2.0
 
Stc tecnologia junio 0214
Stc tecnologia junio 0214Stc tecnologia junio 0214
Stc tecnologia junio 0214
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamente
 
Device Days 2012 - HTML5 y CSS3 para móvil
Device Days 2012 - HTML5 y CSS3 para móvilDevice Days 2012 - HTML5 y CSS3 para móvil
Device Days 2012 - HTML5 y CSS3 para móvil
 
Aplicaciones o herramientas para integrar a Moodle
Aplicaciones o herramientas para integrar a Moodle Aplicaciones o herramientas para integrar a Moodle
Aplicaciones o herramientas para integrar a Moodle
 
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
 
Nube (1)
Nube (1)Nube (1)
Nube (1)
 
Me encanta que los estándares salgan bien
Me encanta que los estándares salgan bien Me encanta que los estándares salgan bien
Me encanta que los estándares salgan bien
 
Diseñando la web móvil con HTML5 y CSS3
Diseñando la web móvil con HTML5 y CSS3Diseñando la web móvil con HTML5 y CSS3
Diseñando la web móvil con HTML5 y CSS3
 
Introducción a la web móvil
Introducción a la web móvilIntroducción a la web móvil
Introducción a la web móvil
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Pres3
Pres3Pres3
Pres3
 

Mehr von Johnny Ordóñez

Gestión Lean de Portafolios de Empresariales - Guía de Implementación
Gestión Lean de Portafolios de Empresariales - Guía de ImplementaciónGestión Lean de Portafolios de Empresariales - Guía de Implementación
Gestión Lean de Portafolios de Empresariales - Guía de ImplementaciónJohnny Ordóñez
 
Alineamiento Estratégico con OKRs - OKR Summit (Chile 2020)
Alineamiento Estratégico con OKRs - OKR Summit (Chile 2020)Alineamiento Estratégico con OKRs - OKR Summit (Chile 2020)
Alineamiento Estratégico con OKRs - OKR Summit (Chile 2020)Johnny Ordóñez
 
Diseño de Centro de Excelencia en Ágil (CoEs)
Diseño de Centro de Excelencia en Ágil (CoEs)Diseño de Centro de Excelencia en Ágil (CoEs)
Diseño de Centro de Excelencia en Ágil (CoEs)Johnny Ordóñez
 
Principios operativos ágiles - Modelo Operativo Ágil
Principios operativos ágiles - Modelo Operativo ÁgilPrincipios operativos ágiles - Modelo Operativo Ágil
Principios operativos ágiles - Modelo Operativo ÁgilJohnny Ordóñez
 
CoE Value Proposition Canvas
CoE Value Proposition CanvasCoE Value Proposition Canvas
CoE Value Proposition CanvasJohnny Ordóñez
 
Agilidad como cualidad de un sistema vivo - agility enablement (CAS 2019)
Agilidad como cualidad de un sistema vivo - agility enablement (CAS 2019) Agilidad como cualidad de un sistema vivo - agility enablement (CAS 2019)
Agilidad como cualidad de un sistema vivo - agility enablement (CAS 2019) Johnny Ordóñez
 
Agile People - Habilitando la agilidad desde Gestión de talento
Agile People - Habilitando la agilidad desde Gestión de talentoAgile People - Habilitando la agilidad desde Gestión de talento
Agile People - Habilitando la agilidad desde Gestión de talentoJohnny Ordóñez
 
Gestión Lean de Portafolios de Innovación - Foro Líderes de Transformación (L...
Gestión Lean de Portafolios de Innovación - Foro Líderes de Transformación (L...Gestión Lean de Portafolios de Innovación - Foro Líderes de Transformación (L...
Gestión Lean de Portafolios de Innovación - Foro Líderes de Transformación (L...Johnny Ordóñez
 
Agilidad en tiempos de VUCA - Keynote Telefónica Colombia
Agilidad en tiempos de VUCA - Keynote Telefónica ColombiaAgilidad en tiempos de VUCA - Keynote Telefónica Colombia
Agilidad en tiempos de VUCA - Keynote Telefónica ColombiaJohnny Ordóñez
 
La ilusión de Agilidad - Scrum Day Colombia 2019
La ilusión de Agilidad - Scrum Day Colombia 2019La ilusión de Agilidad - Scrum Day Colombia 2019
La ilusión de Agilidad - Scrum Day Colombia 2019Johnny Ordóñez
 
Corporate Innovation Portfolio Management (Excerpt)
Corporate Innovation Portfolio Management (Excerpt)Corporate Innovation Portfolio Management (Excerpt)
Corporate Innovation Portfolio Management (Excerpt)Johnny Ordóñez
 
agility enablement Library - (English version)
agility enablement Library - (English version)agility enablement Library - (English version)
agility enablement Library - (English version)Johnny Ordóñez
 
'agility enablement' - Biblioteca
'agility enablement' - Biblioteca'agility enablement' - Biblioteca
'agility enablement' - BibliotecaJohnny Ordóñez
 
'agility enablement' - Habilitando la agilidad empresarial (Lima 2018)
'agility enablement' - Habilitando la agilidad empresarial (Lima 2018)'agility enablement' - Habilitando la agilidad empresarial (Lima 2018)
'agility enablement' - Habilitando la agilidad empresarial (Lima 2018)Johnny Ordóñez
 
Enterprise agility - A Johnny Ordonez Compilation about EA
Enterprise agility - A Johnny Ordonez Compilation about EAEnterprise agility - A Johnny Ordonez Compilation about EA
Enterprise agility - A Johnny Ordonez Compilation about EAJohnny Ordóñez
 
'agility enablement' - desbloqueando la agilidad empresarial
'agility enablement' - desbloqueando la agilidad empresarial'agility enablement' - desbloqueando la agilidad empresarial
'agility enablement' - desbloqueando la agilidad empresarialJohnny Ordóñez
 
'agility enablement'- unlocking enterprise agility
'agility enablement'- unlocking enterprise agility'agility enablement'- unlocking enterprise agility
'agility enablement'- unlocking enterprise agilityJohnny Ordóñez
 
De Agile Coach a 'agility enabler': Habilitando la agilidad empresarial
De Agile Coach a 'agility enabler': Habilitando la agilidad empresarialDe Agile Coach a 'agility enabler': Habilitando la agilidad empresarial
De Agile Coach a 'agility enabler': Habilitando la agilidad empresarialJohnny Ordóñez
 
OKR Canvas - Métricas, KPIs y OKRs
OKR Canvas - Métricas, KPIs y OKRsOKR Canvas - Métricas, KPIs y OKRs
OKR Canvas - Métricas, KPIs y OKRsJohnny Ordóñez
 

Mehr von Johnny Ordóñez (20)

Gestión Lean de Portafolios de Empresariales - Guía de Implementación
Gestión Lean de Portafolios de Empresariales - Guía de ImplementaciónGestión Lean de Portafolios de Empresariales - Guía de Implementación
Gestión Lean de Portafolios de Empresariales - Guía de Implementación
 
Alineamiento Estratégico con OKRs - OKR Summit (Chile 2020)
Alineamiento Estratégico con OKRs - OKR Summit (Chile 2020)Alineamiento Estratégico con OKRs - OKR Summit (Chile 2020)
Alineamiento Estratégico con OKRs - OKR Summit (Chile 2020)
 
Diseño de Centro de Excelencia en Ágil (CoEs)
Diseño de Centro de Excelencia en Ágil (CoEs)Diseño de Centro de Excelencia en Ágil (CoEs)
Diseño de Centro de Excelencia en Ágil (CoEs)
 
Principios operativos ágiles - Modelo Operativo Ágil
Principios operativos ágiles - Modelo Operativo ÁgilPrincipios operativos ágiles - Modelo Operativo Ágil
Principios operativos ágiles - Modelo Operativo Ágil
 
CoE Value Proposition Canvas
CoE Value Proposition CanvasCoE Value Proposition Canvas
CoE Value Proposition Canvas
 
Agilidad como cualidad de un sistema vivo - agility enablement (CAS 2019)
Agilidad como cualidad de un sistema vivo - agility enablement (CAS 2019) Agilidad como cualidad de un sistema vivo - agility enablement (CAS 2019)
Agilidad como cualidad de un sistema vivo - agility enablement (CAS 2019)
 
Agile People - Habilitando la agilidad desde Gestión de talento
Agile People - Habilitando la agilidad desde Gestión de talentoAgile People - Habilitando la agilidad desde Gestión de talento
Agile People - Habilitando la agilidad desde Gestión de talento
 
Gestión Lean de Portafolios de Innovación - Foro Líderes de Transformación (L...
Gestión Lean de Portafolios de Innovación - Foro Líderes de Transformación (L...Gestión Lean de Portafolios de Innovación - Foro Líderes de Transformación (L...
Gestión Lean de Portafolios de Innovación - Foro Líderes de Transformación (L...
 
Agilidad en tiempos de VUCA - Keynote Telefónica Colombia
Agilidad en tiempos de VUCA - Keynote Telefónica ColombiaAgilidad en tiempos de VUCA - Keynote Telefónica Colombia
Agilidad en tiempos de VUCA - Keynote Telefónica Colombia
 
La ilusión de Agilidad - Scrum Day Colombia 2019
La ilusión de Agilidad - Scrum Day Colombia 2019La ilusión de Agilidad - Scrum Day Colombia 2019
La ilusión de Agilidad - Scrum Day Colombia 2019
 
Corporate Innovation Portfolio Management (Excerpt)
Corporate Innovation Portfolio Management (Excerpt)Corporate Innovation Portfolio Management (Excerpt)
Corporate Innovation Portfolio Management (Excerpt)
 
agility enablement Library - (English version)
agility enablement Library - (English version)agility enablement Library - (English version)
agility enablement Library - (English version)
 
'agility enablement' - Biblioteca
'agility enablement' - Biblioteca'agility enablement' - Biblioteca
'agility enablement' - Biblioteca
 
'agility enablement' - Habilitando la agilidad empresarial (Lima 2018)
'agility enablement' - Habilitando la agilidad empresarial (Lima 2018)'agility enablement' - Habilitando la agilidad empresarial (Lima 2018)
'agility enablement' - Habilitando la agilidad empresarial (Lima 2018)
 
Enterprise agility - A Johnny Ordonez Compilation about EA
Enterprise agility - A Johnny Ordonez Compilation about EAEnterprise agility - A Johnny Ordonez Compilation about EA
Enterprise agility - A Johnny Ordonez Compilation about EA
 
'agility enablement' - desbloqueando la agilidad empresarial
'agility enablement' - desbloqueando la agilidad empresarial'agility enablement' - desbloqueando la agilidad empresarial
'agility enablement' - desbloqueando la agilidad empresarial
 
'agility enablement'- unlocking enterprise agility
'agility enablement'- unlocking enterprise agility'agility enablement'- unlocking enterprise agility
'agility enablement'- unlocking enterprise agility
 
De Agile Coach a 'agility enabler': Habilitando la agilidad empresarial
De Agile Coach a 'agility enabler': Habilitando la agilidad empresarialDe Agile Coach a 'agility enabler': Habilitando la agilidad empresarial
De Agile Coach a 'agility enabler': Habilitando la agilidad empresarial
 
OKR Canvas - Ágiles 2018
OKR Canvas - Ágiles 2018OKR Canvas - Ágiles 2018
OKR Canvas - Ágiles 2018
 
OKR Canvas - Métricas, KPIs y OKRs
OKR Canvas - Métricas, KPIs y OKRsOKR Canvas - Métricas, KPIs y OKRs
OKR Canvas - Métricas, KPIs y OKRs
 

Kürzlich hochgeladen

LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 

Kürzlich hochgeladen (20)

LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 

Code Smells y SOLID para un código óptimo