Cómo arreglar este desastre Samuel Solís MADRID · NOV 27-28 · 2015
Cómo arreglar este desastreSamuel SolísMADRID · NOV 27-28 · 2015
Samuel Solís @estoyausente
Samuel Solís @estoyausente
Samuel Solís @estoyausente
Refactorización de inmensas bolas de lodo
Samuel Solís @estoyausente
¿Quién es desarrollador?
Samuel Solís @estoyausente
¿Quién ha heredado un proyecto?
Samuel Solís @estoyausente
¿Quién de vosotros ha dicho: Esto hay que hacerlo desde cero?
Samuel Solís @estoyausente
¿Cuántos habéis podido hacerlo?
Samuel Solís @estoyausente
Samuel Solís @estoyausente
Monstruos y Engendros
Samuel Solís @estoyausente
Los proyectos evolucionan
…no siempre para bien
Samuel Solís @estoyausente
Muchas variables
Samuel Solís @estoyausente
.. Y el monstruo crece
Material baratos, herramientas simples.
Gente no capacitada para esta labor
Construcción laboriosa
Mantenida por sus propios habitantes
Sin preocupación por su estructura
Samuel Solís @estoyausente
Big ball of mud
(Alias Spaghetti code || Favelas)
Samuel Solís @estoyausente
Y te toca el marrón.
Samuel Solís @estoyausente
¿Y ahora qué?
Samuel Solís @estoyausente
Samuel Solís @estoyausente
Analizar el engendro
Samuel Solís @estoyausente
Plantea el problema
Samuel Solís @estoyausente
Consigue especificaciones
Samuel Solís @estoyausente
Identifica los grandes problemas de arquitectura
Samuel Solís @estoyausente
Sé un buen boy scout
Samuel Solís @estoyausente
Aísla el problema
Samuel Solís @estoyausente
Desacopla
Samuel Solís @estoyausente
¿Hay algo peor que el código duplicado?
Evita las ñapas. Ya están todas
hechas.
Samuel Solís @estoyausente
¿Y cuándo no puedo?
Máxima Chapuza Asumible (MCA)
Samuel Solís @estoyausente
¿He oído test?
Unit testing
Asume que te vas a desesperar
¡Sólo los más valientes pueden!
Es muy satisfactorio
Samuel Solís @estoyausente
Si quieres profundizar…
Brian Footer & Joseph Yoder: The big ball of mud: http://joeyoder.com/PDFs/mud.pdf
On understanding laws, evolution, and conservation in the large-program life cycle. M.M. Lehman
Samuel Solís @estoyausente