SlideShare una empresa de Scribd logo
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code
Samuel Solís
For Drupal Iberia
The necessary evil of Legacy code
El necesario mal del Legacy code Samuel Solís
Samuel Solís
@estoyausente
El necesario mal del Legacy code Samuel Solís
● Where is the Legacy code from?
(or why it’s necessary)
● How to enjoy the mud
● Some specific Drupal problems
Index
El necesario mal del Legacy code Samuel Solís
How is a ten
years project
El necesario mal del Legacy code Samuel Solís
Long time ago…
El necesario mal del Legacy code Samuel Solís
One-man army
El necesario mal del Legacy code Samuel Solís
Junior team
El necesario mal del Legacy code Samuel Solís
Time & speed
El necesario mal del Legacy code Samuel Solís
Lot of changes and
project evolution
El necesario mal del Legacy code Samuel Solís
- Cheap materials and simple tools
- People not trained for this work
- Laborious construction
- Maintained by its own inhabitants
- The structure doesn't matter
Favelas
El necesario mal del Legacy code Samuel Solís
Technical debt concept
Technical debt is the additional cost due a conscious decision of a fast
execution versus an effective solution.
“ Samuel Solís - Philosopher (just in pubs)
(Aside)
El necesario mal del Legacy code Samuel Solís
Plan A
Plan B
Plan C
Money Time Changes
Summary
El necesario mal del Legacy code Samuel Solís
The Big ball of mud
El necesario mal del Legacy code Samuel Solís
El necesario mal del Legacy code Samuel Solís
Get out of the mud
or play with it
El necesario mal del Legacy code Samuel Solís
El necesario mal del Legacy code Samuel Solís
How to enjoy in the
mud
El necesario mal del Legacy code Samuel Solís
El necesario mal del Legacy code Samuel Solís
Identify the biggest
architecture/structure
problems
El necesario mal del Legacy code Samuel Solís
Standard is a must
El necesario mal del Legacy code Samuel Solís
Be a good Boy Scout
El necesario mal del Legacy code Samuel Solís
Get the quick wins
El necesario mal del Legacy code Samuel Solís
Isolate the issues
El necesario mal del Legacy code Samuel Solís
Avoid the shoddy work
(all of them are already
done)
Common
Ñapa?
El necesario mal del Legacy code Samuel Solís
MAS concept -
Maximum acceptable
shoddiness
--
MCA - Máxima chapuza asumible
El necesario mal del Legacy code Samuel Solís
Quality automation
El necesario mal del Legacy code Samuel Solís
Main Drupal legacy problems
- Too old version (D6, D7)
- Only “old” version (D8, D9)
- Lot of code in bad places (theme, .module, a
single module)
- Bad theming (or bad frontend in general)
Thank you!
Host Partner
Sponsors
@estoyausente
Samuel Solís
El necesario mal del Legacy code Samuel Solís
Learn more…
- A big mall of mud (2003) Brian Foote & Joseph W. Yoder
- Anti-Pattern Detection (2014) Fabio Palomba & Rocco Oliveto
- Working Effectively with Legacy Code (2004) Michael C. Feathers

Más contenido relacionado

PDF
Beyond coding. How management experience made me a better developer
Samuel Solís Fuentes
 
PDF
De managers y developers
Samuel Solís Fuentes
 
PDF
Hábitos y consejos para sobrevivir a un trabajo sedentario
Samuel Solís Fuentes
 
PDF
Drupal intro for Symfony developers
Samuel Solís Fuentes
 
PDF
Querying solr
Samuel Solís Fuentes
 
PDF
Las tripas de un sistema solr
Samuel Solís Fuentes
 
PDF
D8 Form api
Samuel Solís Fuentes
 
PDF
Mejorar tu código mejorando tu comunicación
Samuel Solís Fuentes
 
Beyond coding. How management experience made me a better developer
Samuel Solís Fuentes
 
De managers y developers
Samuel Solís Fuentes
 
Hábitos y consejos para sobrevivir a un trabajo sedentario
Samuel Solís Fuentes
 
Drupal intro for Symfony developers
Samuel Solís Fuentes
 
Querying solr
Samuel Solís Fuentes
 
Las tripas de un sistema solr
Samuel Solís Fuentes
 
Mejorar tu código mejorando tu comunicación
Samuel Solís Fuentes
 

Más de Samuel Solís Fuentes (11)

PDF
Custom entities in d8
Samuel Solís Fuentes
 
PDF
Drupal8 simplepage v2
Samuel Solís Fuentes
 
PDF
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Samuel Solís Fuentes
 
PDF
Como arreglar este desastre
Samuel Solís Fuentes
 
PDF
Drupal y rails. Nuestra experiencia
Samuel Solís Fuentes
 
PDF
Mejorar tu código hablando con el cliente
Samuel Solís Fuentes
 
PDF
Taller de introducción al desarrollo de módulos
Samuel Solís Fuentes
 
PDF
Más limpio que un jaspe.
Samuel Solís Fuentes
 
PDF
Drupal as a framework
Samuel Solís Fuentes
 
PDF
Arquitectura de información en drupal
Samuel Solís Fuentes
 
PDF
Drupal para desarrolladores
Samuel Solís Fuentes
 
Custom entities in d8
Samuel Solís Fuentes
 
Drupal8 simplepage v2
Samuel Solís Fuentes
 
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Samuel Solís Fuentes
 
Como arreglar este desastre
Samuel Solís Fuentes
 
Drupal y rails. Nuestra experiencia
Samuel Solís Fuentes
 
Mejorar tu código hablando con el cliente
Samuel Solís Fuentes
 
Taller de introducción al desarrollo de módulos
Samuel Solís Fuentes
 
Más limpio que un jaspe.
Samuel Solís Fuentes
 
Drupal as a framework
Samuel Solís Fuentes
 
Arquitectura de información en drupal
Samuel Solís Fuentes
 
Drupal para desarrolladores
Samuel Solís Fuentes
 
Publicidad

Último (11)

PPTX
Algoritmos de localizacion de Robots móviles
yrosascunam
 
PPTX
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
PPT
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
PDF
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
PDF
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
PPT
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
PPTX
Los Atributos de calidad del software.pptx
DanielMartinez382863
 
PDF
COMO USAR PREZI Y CREAR PRESENTACIONES ATRACTIVAS
MariaNeriMedinaDiaz1
 
PPTX
Evaluación de la arquitectura de software.pptx
DanielMartinez382863
 
PPTX
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
PPTX
La Inteligencia Artificial en la Vida Cotidiana
Romeo Santos
 
Algoritmos de localizacion de Robots móviles
yrosascunam
 
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
Los Atributos de calidad del software.pptx
DanielMartinez382863
 
COMO USAR PREZI Y CREAR PRESENTACIONES ATRACTIVAS
MariaNeriMedinaDiaz1
 
Evaluación de la arquitectura de software.pptx
DanielMartinez382863
 
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
La Inteligencia Artificial en la Vida Cotidiana
Romeo Santos
 
Publicidad

El necesario mal del Legacy Code (Drupal Iberia 2024)

  • 2. El necesario mal del Legacy Code Samuel Solís For Drupal Iberia The necessary evil of Legacy code
  • 3. El necesario mal del Legacy code Samuel Solís Samuel Solís @estoyausente
  • 4. El necesario mal del Legacy code Samuel Solís ● Where is the Legacy code from? (or why it’s necessary) ● How to enjoy the mud ● Some specific Drupal problems Index
  • 5. El necesario mal del Legacy code Samuel Solís How is a ten years project
  • 6. El necesario mal del Legacy code Samuel Solís Long time ago…
  • 7. El necesario mal del Legacy code Samuel Solís One-man army
  • 8. El necesario mal del Legacy code Samuel Solís Junior team
  • 9. El necesario mal del Legacy code Samuel Solís Time & speed
  • 10. El necesario mal del Legacy code Samuel Solís Lot of changes and project evolution
  • 11. El necesario mal del Legacy code Samuel Solís - Cheap materials and simple tools - People not trained for this work - Laborious construction - Maintained by its own inhabitants - The structure doesn't matter Favelas
  • 12. El necesario mal del Legacy code Samuel Solís Technical debt concept Technical debt is the additional cost due a conscious decision of a fast execution versus an effective solution. “ Samuel Solís - Philosopher (just in pubs) (Aside)
  • 13. El necesario mal del Legacy code Samuel Solís Plan A Plan B Plan C Money Time Changes Summary
  • 14. El necesario mal del Legacy code Samuel Solís The Big ball of mud
  • 15. El necesario mal del Legacy code Samuel Solís
  • 16. El necesario mal del Legacy code Samuel Solís Get out of the mud or play with it
  • 17. El necesario mal del Legacy code Samuel Solís
  • 18. El necesario mal del Legacy code Samuel Solís How to enjoy in the mud
  • 19. El necesario mal del Legacy code Samuel Solís
  • 20. El necesario mal del Legacy code Samuel Solís Identify the biggest architecture/structure problems
  • 21. El necesario mal del Legacy code Samuel Solís Standard is a must
  • 22. El necesario mal del Legacy code Samuel Solís Be a good Boy Scout
  • 23. El necesario mal del Legacy code Samuel Solís Get the quick wins
  • 24. El necesario mal del Legacy code Samuel Solís Isolate the issues
  • 25. El necesario mal del Legacy code Samuel Solís Avoid the shoddy work (all of them are already done) Common Ñapa?
  • 26. El necesario mal del Legacy code Samuel Solís MAS concept - Maximum acceptable shoddiness -- MCA - Máxima chapuza asumible
  • 27. El necesario mal del Legacy code Samuel Solís Quality automation
  • 28. El necesario mal del Legacy code Samuel Solís Main Drupal legacy problems - Too old version (D6, D7) - Only “old” version (D8, D9) - Lot of code in bad places (theme, .module, a single module) - Bad theming (or bad frontend in general)
  • 30. El necesario mal del Legacy code Samuel Solís Learn more… - A big mall of mud (2003) Brian Foote & Joseph W. Yoder - Anti-Pattern Detection (2014) Fabio Palomba & Rocco Oliveto - Working Effectively with Legacy Code (2004) Michael C. Feathers