Este documento describe antipatrones de desarrollo de software, que son malas prácticas de programación que conducen a problemas. Identifica causas comunes como la prisa, la pereza y la ignorancia. Presenta ejemplos breves de antipatrones como "Spaghetti Code" y "Magic Buttons". Explica cómo evitarlos siguiendo principios como KISS y YAGNI, y siempre considerando que otro desarrollador tendrá que mantener el código en el futuro.
PROYECTO FINAL. Tutorial para publicar en SlideShare.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