SlideShare una empresa de Scribd logo
1 de 9
Antipatrones de
desarrollo de software
                @pbousan
Pablo Bouzada
                pbouzada@renacimiento.com
                http://www.programandonet.com/
¿Qué es un antipatrón?
 Un antipatrón es un patrón que te dice cómo ir de un
 problema a una mala solución.

 Identificar malas prácticas puede ser tan valioso como
 conocer buenas prácticas.


¿Cuáles son sus causas?
     Prisa                      Codicia
     Falta de interés           Ignorancia
     Estrechez de miras         Soberbia
     Pereza




                                     Antipatrones de desarrollo de software
Demo         (mini)
 •   Spagheti Code
 •   Copy-Paste Programming
 •   Big Ball of Mud
 •   Magic Numbers
 •   Magic Strings
 •   Sequential Coupling
 •   Lava Flow
 •   Programming by Permutation
 •   God Object
 •   Magic PushButton
 •   Sweep It Under the Rug



     http://c2.com/cgi/wiki?DevelopmentAntiPatternRoadMap
     http://en.wikipedia.org/wiki/Anti-pattern


                                    Antipatrones de desarrollo de software
Conclusiones: ¿Cómo evitar los
antipatrones?
 •   Principios SOLID
 •   KISS (Keep It Simple, Stupid)
 •   DRY (Don’t Repeat Yourselft)
 •   YAGNI (You Ain’t Gone Need It)
 •   Patrones




                          Antipatrones de desarrollo de software
Consejo 1
 El código es algo vivo, que evoluciona contigo. Aplica todo
 lo que aprendes.




                                      Antipatrones de desarrollo de software
Consejo 2
 AHORA es el único buen momento para refactorizar.




                               Antipatrones de desarrollo de software
Consejo 3 … el más importante
 Programa siempre como si el tipo que va a mantener tu
 código fuese un asesino psicópata que sabe donde vives.




                                    Antipatrones de desarrollo de software
¿Preguntas?




              Antipatrones de desarrollo de software
MUCHAS GRACIAS!!


Pablo Bouzada   @pbousan
                pbouzada@renacimiento.com
                 http://www.programandonet.com/




                Antipatrones de desarrollo de software

Más contenido relacionado

La actualidad más candente

A guide to getting started with WebdriverIO
A guide to getting started with WebdriverIOA guide to getting started with WebdriverIO
A guide to getting started with WebdriverIONilenth Selvaraja
 
Soa testing soap ui (2)
Soa testing   soap ui (2)Soa testing   soap ui (2)
Soa testing soap ui (2)Knoldus Inc.
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumElias Nogueira
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...Edureka!
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi SpecPedro J. Molina
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumberNibu Baby
 
Testing RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured frameworkTesting RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured frameworkMicha Kops
 
Workshop Agile Testing Mindset
Workshop Agile Testing MindsetWorkshop Agile Testing Mindset
Workshop Agile Testing MindsetElias Nogueira
 
Salesforce DevOps using GitHub Action
Salesforce DevOps using GitHub ActionSalesforce DevOps using GitHub Action
Salesforce DevOps using GitHub ActionSakthivel Madesh
 
The Netflix API Platform for Server-Side Scripting
The Netflix API Platform for Server-Side ScriptingThe Netflix API Platform for Server-Side Scripting
The Netflix API Platform for Server-Side ScriptingKatharina Probst
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on JenkinsKnoldus Inc.
 
Webdriver io presentation
Webdriver io presentationWebdriver io presentation
Webdriver io presentationJoão Nabais
 
How To Install Sonar Qube Plugin In Anypoint Studio
How To Install Sonar Qube Plugin In Anypoint StudioHow To Install Sonar Qube Plugin In Anypoint Studio
How To Install Sonar Qube Plugin In Anypoint StudioSudha Ch
 

La actualidad más candente (20)

A guide to getting started with WebdriverIO
A guide to getting started with WebdriverIOA guide to getting started with WebdriverIO
A guide to getting started with WebdriverIO
 
Soa testing soap ui (2)
Soa testing   soap ui (2)Soa testing   soap ui (2)
Soa testing soap ui (2)
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
 
Ansible Playbook
Ansible PlaybookAnsible Playbook
Ansible Playbook
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi Spec
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
 
Testing RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured frameworkTesting RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured framework
 
Workshop Agile Testing Mindset
Workshop Agile Testing MindsetWorkshop Agile Testing Mindset
Workshop Agile Testing Mindset
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 
Gitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCDGitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCD
 
Salesforce DevOps using GitHub Action
Salesforce DevOps using GitHub ActionSalesforce DevOps using GitHub Action
Salesforce DevOps using GitHub Action
 
Why Microservices
Why MicroservicesWhy Microservices
Why Microservices
 
The Netflix API Platform for Server-Side Scripting
The Netflix API Platform for Server-Side ScriptingThe Netflix API Platform for Server-Side Scripting
The Netflix API Platform for Server-Side Scripting
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
Webdriver io presentation
Webdriver io presentationWebdriver io presentation
Webdriver io presentation
 
The gordian knot
The gordian knotThe gordian knot
The gordian knot
 
How To Install Sonar Qube Plugin In Anypoint Studio
How To Install Sonar Qube Plugin In Anypoint StudioHow To Install Sonar Qube Plugin In Anypoint Studio
How To Install Sonar Qube Plugin In Anypoint Studio
 

Similar a Antipatrones de desarrollo de software

Presentacion programador apasionado
Presentacion programador apasionadoPresentacion programador apasionado
Presentacion programador apasionadoEdwin Cruz
 
La autocrítica como hábito en el arte del cultivo de profesionales en software
La autocrítica como hábito en el arte del cultivo de profesionales en softwareLa autocrítica como hábito en el arte del cultivo de profesionales en software
La autocrítica como hábito en el arte del cultivo de profesionales en softwareSoftware Guru
 
El proceso creativo de una aplicación
El proceso creativo de una aplicación El proceso creativo de una aplicación
El proceso creativo de una aplicación Jorge Galindo Cruces
 
Presentacion Programador Apasionado
Presentacion Programador ApasionadoPresentacion Programador Apasionado
Presentacion Programador ApasionadoEdwin Cruz
 
Testear videojuegos con Unity3D
Testear videojuegos con Unity3D Testear videojuegos con Unity3D
Testear videojuegos con Unity3D [T]echdencias
 
Bugs patches, trabajando con la comunidad de Drupal
Bugs patches, trabajando con la comunidad de DrupalBugs patches, trabajando con la comunidad de Drupal
Bugs patches, trabajando con la comunidad de DrupalManuel Garcia
 
Opsec para analistas de seguridad
Opsec para analistas de seguridadOpsec para analistas de seguridad
Opsec para analistas de seguridadtheDataCult
 
Tema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareTema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareLuis Garcia
 
Taller Prototipos EngineUp Peru - Abril 2011
Taller Prototipos EngineUp Peru - Abril 2011Taller Prototipos EngineUp Peru - Abril 2011
Taller Prototipos EngineUp Peru - Abril 2011Sebastian Gonzalez G.
 
Seguridad de la Información para Periodistas.
Seguridad de la Información para Periodistas.Seguridad de la Información para Periodistas.
Seguridad de la Información para Periodistas.Gustavo Ibañez
 
PREVENCIÓN Y ELIMINACIÓN DE VIRUS
PREVENCIÓN Y ELIMINACIÓN DE VIRUSPREVENCIÓN Y ELIMINACIÓN DE VIRUS
PREVENCIÓN Y ELIMINACIÓN DE VIRUSdeimer30
 
¿Qué necesito para desarrollar software en las empresas modernas?
¿Qué necesito para desarrollar software en las empresas modernas?¿Qué necesito para desarrollar software en las empresas modernas?
¿Qué necesito para desarrollar software en las empresas modernas?Rosalinda Muñoz Rodríguez
 
Documentación y agilidad
Documentación y agilidadDocumentación y agilidad
Documentación y agilidadDaniel Ramírez
 
Como prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeComo prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeJorge Galindo Cruces
 
Como prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeComo prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del Wireframebetabeers
 
Universidad Cristianillescas
Universidad CristianillescasUniversidad Cristianillescas
Universidad Cristianillescascristian illescas
 

Similar a Antipatrones de desarrollo de software (20)

Presentacion programador apasionado
Presentacion programador apasionadoPresentacion programador apasionado
Presentacion programador apasionado
 
La autocrítica como hábito en el arte del cultivo de profesionales en software
La autocrítica como hábito en el arte del cultivo de profesionales en softwareLa autocrítica como hábito en el arte del cultivo de profesionales en software
La autocrítica como hábito en el arte del cultivo de profesionales en software
 
El proceso creativo de una aplicación
El proceso creativo de una aplicación El proceso creativo de una aplicación
El proceso creativo de una aplicación
 
Presentacion Programador Apasionado
Presentacion Programador ApasionadoPresentacion Programador Apasionado
Presentacion Programador Apasionado
 
Tecnicasdedesarrollo
TecnicasdedesarrolloTecnicasdedesarrollo
Tecnicasdedesarrollo
 
Testear videojuegos con Unity3D
Testear videojuegos con Unity3D Testear videojuegos con Unity3D
Testear videojuegos con Unity3D
 
¿Se puede implementar una Cultura Ágil?
¿Se puede implementar una Cultura Ágil?¿Se puede implementar una Cultura Ágil?
¿Se puede implementar una Cultura Ágil?
 
Bugs patches, trabajando con la comunidad de Drupal
Bugs patches, trabajando con la comunidad de DrupalBugs patches, trabajando con la comunidad de Drupal
Bugs patches, trabajando con la comunidad de Drupal
 
Opsec para analistas de seguridad
Opsec para analistas de seguridadOpsec para analistas de seguridad
Opsec para analistas de seguridad
 
Tema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del softwareTema 3 proseso de desarrollo del software
Tema 3 proseso de desarrollo del software
 
Taller Prototipos EngineUp Peru - Abril 2011
Taller Prototipos EngineUp Peru - Abril 2011Taller Prototipos EngineUp Peru - Abril 2011
Taller Prototipos EngineUp Peru - Abril 2011
 
Seguridad de la Información para Periodistas.
Seguridad de la Información para Periodistas.Seguridad de la Información para Periodistas.
Seguridad de la Información para Periodistas.
 
PREVENCIÓN Y ELIMINACIÓN DE VIRUS
PREVENCIÓN Y ELIMINACIÓN DE VIRUSPREVENCIÓN Y ELIMINACIÓN DE VIRUS
PREVENCIÓN Y ELIMINACIÓN DE VIRUS
 
¿Qué necesito para desarrollar software en las empresas modernas?
¿Qué necesito para desarrollar software en las empresas modernas?¿Qué necesito para desarrollar software en las empresas modernas?
¿Qué necesito para desarrollar software en las empresas modernas?
 
Documentación y agilidad
Documentación y agilidadDocumentación y agilidad
Documentación y agilidad
 
Hack Space - Intro Design Thinking .00122
Hack Space - Intro Design Thinking .00122Hack Space - Intro Design Thinking .00122
Hack Space - Intro Design Thinking .00122
 
Como prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeComo prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del Wireframe
 
Como prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeComo prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del Wireframe
 
Universidad Cristianillescas
Universidad CristianillescasUniversidad Cristianillescas
Universidad Cristianillescas
 
Adopcion Codigo Abierto
Adopcion Codigo AbiertoAdopcion Codigo Abierto
Adopcion Codigo Abierto
 

Más de Pablo Bouzada

Toxic cultures - DevOpsDays Eindhoven 2022
Toxic cultures - DevOpsDays Eindhoven 2022Toxic cultures - DevOpsDays Eindhoven 2022
Toxic cultures - DevOpsDays Eindhoven 2022Pablo Bouzada
 
Culture really matters - DevOps and Cloud days 2021
Culture really matters  - DevOps and Cloud days 2021Culture really matters  - DevOps and Cloud days 2021
Culture really matters - DevOps and Cloud days 2021Pablo Bouzada
 
Cultura - más allá de eslóganes y palabras bonitas
Cultura - más allá de eslóganes y palabras bonitasCultura - más allá de eslóganes y palabras bonitas
Cultura - más allá de eslóganes y palabras bonitasPablo Bouzada
 
Atlantica conf 2019 no estas preparado para migrar al cloud
Atlantica conf 2019   no estas preparado para migrar al cloudAtlantica conf 2019   no estas preparado para migrar al cloud
Atlantica conf 2019 no estas preparado para migrar al cloudPablo Bouzada
 
Antipatrones de la cultura de una organización
Antipatrones de la cultura de una organizaciónAntipatrones de la cultura de una organización
Antipatrones de la cultura de una organizaciónPablo Bouzada
 
Gab 2019 - No, (aún) no estás preparado para migrar a Azure
Gab 2019 - No, (aún) no estás preparado para migrar a AzureGab 2019 - No, (aún) no estás preparado para migrar a Azure
Gab 2019 - No, (aún) no estás preparado para migrar a AzurePablo Bouzada
 
Introducción a TypeScript
Introducción a TypeScriptIntroducción a TypeScript
Introducción a TypeScriptPablo Bouzada
 
TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?Pablo Bouzada
 
¿Cuál es tu excusa para no tener tests?
¿Cuál es tu excusa para no tener tests?¿Cuál es tu excusa para no tener tests?
¿Cuál es tu excusa para no tener tests?Pablo Bouzada
 
Descubriendo windows8
Descubriendo windows8Descubriendo windows8
Descubriendo windows8Pablo Bouzada
 
Aos2012 sobrevivir a proyectos heredados
Aos2012 sobrevivir a proyectos heredadosAos2012 sobrevivir a proyectos heredados
Aos2012 sobrevivir a proyectos heredadosPablo Bouzada
 

Más de Pablo Bouzada (11)

Toxic cultures - DevOpsDays Eindhoven 2022
Toxic cultures - DevOpsDays Eindhoven 2022Toxic cultures - DevOpsDays Eindhoven 2022
Toxic cultures - DevOpsDays Eindhoven 2022
 
Culture really matters - DevOps and Cloud days 2021
Culture really matters  - DevOps and Cloud days 2021Culture really matters  - DevOps and Cloud days 2021
Culture really matters - DevOps and Cloud days 2021
 
Cultura - más allá de eslóganes y palabras bonitas
Cultura - más allá de eslóganes y palabras bonitasCultura - más allá de eslóganes y palabras bonitas
Cultura - más allá de eslóganes y palabras bonitas
 
Atlantica conf 2019 no estas preparado para migrar al cloud
Atlantica conf 2019   no estas preparado para migrar al cloudAtlantica conf 2019   no estas preparado para migrar al cloud
Atlantica conf 2019 no estas preparado para migrar al cloud
 
Antipatrones de la cultura de una organización
Antipatrones de la cultura de una organizaciónAntipatrones de la cultura de una organización
Antipatrones de la cultura de una organización
 
Gab 2019 - No, (aún) no estás preparado para migrar a Azure
Gab 2019 - No, (aún) no estás preparado para migrar a AzureGab 2019 - No, (aún) no estás preparado para migrar a Azure
Gab 2019 - No, (aún) no estás preparado para migrar a Azure
 
Introducción a TypeScript
Introducción a TypeScriptIntroducción a TypeScript
Introducción a TypeScript
 
TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?
 
¿Cuál es tu excusa para no tener tests?
¿Cuál es tu excusa para no tener tests?¿Cuál es tu excusa para no tener tests?
¿Cuál es tu excusa para no tener tests?
 
Descubriendo windows8
Descubriendo windows8Descubriendo windows8
Descubriendo windows8
 
Aos2012 sobrevivir a proyectos heredados
Aos2012 sobrevivir a proyectos heredadosAos2012 sobrevivir a proyectos heredados
Aos2012 sobrevivir a proyectos heredados
 

Último

definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Último (20)

definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

Antipatrones de desarrollo de software

  • 1. Antipatrones de desarrollo de software @pbousan Pablo Bouzada pbouzada@renacimiento.com http://www.programandonet.com/
  • 2. ¿Qué es un antipatrón? Un antipatrón es un patrón que te dice cómo ir de un problema a una mala solución. Identificar malas prácticas puede ser tan valioso como conocer buenas prácticas. ¿Cuáles son sus causas?  Prisa  Codicia  Falta de interés  Ignorancia  Estrechez de miras  Soberbia  Pereza Antipatrones de desarrollo de software
  • 3. Demo (mini) • Spagheti Code • Copy-Paste Programming • Big Ball of Mud • Magic Numbers • Magic Strings • Sequential Coupling • Lava Flow • Programming by Permutation • God Object • Magic PushButton • Sweep It Under the Rug http://c2.com/cgi/wiki?DevelopmentAntiPatternRoadMap http://en.wikipedia.org/wiki/Anti-pattern Antipatrones de desarrollo de software
  • 4. Conclusiones: ¿Cómo evitar los antipatrones? • Principios SOLID • KISS (Keep It Simple, Stupid) • DRY (Don’t Repeat Yourselft) • YAGNI (You Ain’t Gone Need It) • Patrones Antipatrones de desarrollo de software
  • 5. Consejo 1 El código es algo vivo, que evoluciona contigo. Aplica todo lo que aprendes. Antipatrones de desarrollo de software
  • 6. Consejo 2 AHORA es el único buen momento para refactorizar. Antipatrones de desarrollo de software
  • 7. Consejo 3 … el más importante Programa siempre como si el tipo que va a mantener tu código fuese un asesino psicópata que sabe donde vives. Antipatrones de desarrollo de software
  • 8. ¿Preguntas? Antipatrones de desarrollo de software
  • 9. MUCHAS GRACIAS!! Pablo Bouzada @pbousan pbouzada@renacimiento.com http://www.programandonet.com/ Antipatrones de desarrollo de software