SlideShare a Scribd company logo
Refactoring
Jacopo Romei
Refactoring
Car rental




             Refactoring
Car rental

               Legacy code



             Refactoring
Car rental

               Legacy code



             Refactoring
                             What is it?
                               Same input / output
                               DIfferent architecture
Car rental

               Legacy code



             Refactoring
                             What is it?
                               Same input / output
                               DIfferent architecture
                             What is it for?
                              Raising your code value
Car rental

               Legacy code
                             Clean code
                                   that works
             Refactoring
                              What is it?
                                 Same input / output
                                 DIfferent architecture
                              What is it for?
                                Raising your code value
Car rental
    Lower interest rate
Prevention            Legacy code
     Technical debt                 Clean code
                                          that works
              Refactoring
                                     What is it?
                                        Same input / output
                                        DIfferent architecture
                                     What is it for?
                                       Raising your code value
2005
Agile coach                          @jacoporomei

Jacopo Romei              PHP developer
                                           1999
                                   since
       Symfony2 CMF



                      Opensource
       2011
                               Symfony1 patches
Refactoring
Car rental
        Lower interest rate
    Prevention            Legacy code
         Technical debt                 Clean code
                                              that works
                     Refactoring
              Start-up

                                         What is it?
                                            Same input / output
                                            DIfferent architecture
  Short term goal
 Sustainability(?)
                                         What is it for?
                                           Raising your code value
Dreadful dead end
Car rental
        Lower interest rate
    Prevention            Legacy code
         Technical debt                 Clean code
                                              that works
                     Refactoring
              Start-up

                         Simple          What is it?
                                            Same input / output
                                            DIfferent architecture
  Short term goal
 Sustainability(?)
                                         What is it for?
                                           Raising your code value
Dreadful dead end
Simplicity
Maximizing the amount of
     work not done
Refactoring
Car rental
        Lower interest rate
    Prevention            Legacy code
         Technical debt                                     Clean code
                                                                  that works
                     Refactoring
              Start-up

                                             Simple            What is it?
                         of work not done
                         Maximizing the amount
                                                                  Same input / output
                                                                  DIfferent architecture
  Short term goal
    Sustainability
                                                               What is it for?
                                                                 Raising your code value
Dreadful dead end                            Null interest rate
                                             Win-win short/long term
                                             Competitors
Thank you
Jacopo Romei
 jr@ideato.it




  via Quinto Bucci
         205
 47023 Cesena (FC)
  info AT ideato.it
   www.ideato.it

More Related Content

PPTX
destination management
PDF
Con te non ci lavoro
PDF
Keeping Your Internet Business IT Asset Light By Mandar Kulkarni
PPTX
Continuous integration
PDF
Ipbc china 2012 Presentation
PDF
RTF - Prasad bhatt
PDF
IP Creators & Users Group Description
PPTX
How to Profit from Static Analysis
destination management
Con te non ci lavoro
Keeping Your Internet Business IT Asset Light By Mandar Kulkarni
Continuous integration
Ipbc china 2012 Presentation
RTF - Prasad bhatt
IP Creators & Users Group Description
How to Profit from Static Analysis

Similar to Refactoring (20)

PPTX
Introduction to Aspect Oriented Programming
PPTX
2011.02.18 marco parenzan - case study. conversione di una applicazione for...
PDF
Agile Software Design
PPTX
Tek Made Easy Overview
PDF
Adopting Agile Tools & Methods In A Legacy Context
PDF
Software Measurement for Lean Application Management
PPTX
High-Level Synthesis Skill Development Needs - IEDEC
PDF
Iipcc 2012 ip valuation
PDF
Pervasive content management
PDF
Dharmes Mistry Tony De Bree S O A Business Persp V1b
PDF
Sapphire
PDF
Rhapsody reverseengineering
KEY
Intalio|Cloud Overview
PDF
La produttivita nella gestione documentale secondo Microsoft
PPTX
Segundo Semario de SharePoint en Mexico por Joel Oleson
PPTX
Keyword Services Platform (KSP) from Microsoft adCenter
PPTX
Freenet project ralf_sigmund_opitz_activiti_days_2012
Introduction to Aspect Oriented Programming
2011.02.18 marco parenzan - case study. conversione di una applicazione for...
Agile Software Design
Tek Made Easy Overview
Adopting Agile Tools & Methods In A Legacy Context
Software Measurement for Lean Application Management
High-Level Synthesis Skill Development Needs - IEDEC
Iipcc 2012 ip valuation
Pervasive content management
Dharmes Mistry Tony De Bree S O A Business Persp V1b
Sapphire
Rhapsody reverseengineering
Intalio|Cloud Overview
La produttivita nella gestione documentale secondo Microsoft
Segundo Semario de SharePoint en Mexico por Joel Oleson
Keyword Services Platform (KSP) from Microsoft adCenter
Freenet project ralf_sigmund_opitz_activiti_days_2012
Ad

More from Jacopo Romei (20)

PDF
Silicon doesn’t sweat
PDF
WebDeLDN - The outsourcing Veil of Maya
PDF
If you know where it will end up, it's not innovative enough - CloudConf 2017
PDF
Negotiating contracts as user experiences - WIAD Rome 2016
PDF
LiquidO - No management from the trenches - Agile Saturday - October 2014, Ta...
PDF
LiquidO™ - Mini IAD Trento
PDF
Agile Saturday #10 - Liquid Organization: Anti-Fragility Beyond Design
PDF
Capitalismo distribuito: tutto quello che sfuggì a zio Karl e che non deve sf...
PDF
Grab yourself an alibi - PHPDay 2013
ODP
Looking for the right swan - LESS2012
ODP
Cercando il cigno giusto - AgileDay 2012
ODP
Cercando il cigno giusto
PDF
Debito Tecnico
ODP
Symfony CMF - PHP Conference Brazil 2011
ODP
Test Driven Development with Symfony2
ODP
Many to many: no man is an island
ODP
Many to many: no man is an island
ODP
Let it flow, let it flow, let it flow!
PDF
Project manager e sviluppo agile: separati in casa?
PDF
Project manager e sviluppo agile: separati in casa?
Silicon doesn’t sweat
WebDeLDN - The outsourcing Veil of Maya
If you know where it will end up, it's not innovative enough - CloudConf 2017
Negotiating contracts as user experiences - WIAD Rome 2016
LiquidO - No management from the trenches - Agile Saturday - October 2014, Ta...
LiquidO™ - Mini IAD Trento
Agile Saturday #10 - Liquid Organization: Anti-Fragility Beyond Design
Capitalismo distribuito: tutto quello che sfuggì a zio Karl e che non deve sf...
Grab yourself an alibi - PHPDay 2013
Looking for the right swan - LESS2012
Cercando il cigno giusto - AgileDay 2012
Cercando il cigno giusto
Debito Tecnico
Symfony CMF - PHP Conference Brazil 2011
Test Driven Development with Symfony2
Many to many: no man is an island
Many to many: no man is an island
Let it flow, let it flow, let it flow!
Project manager e sviluppo agile: separati in casa?
Project manager e sviluppo agile: separati in casa?
Ad

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Big Data Technologies - Introduction.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Electronic commerce courselecture one. Pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Spectroscopy.pptx food analysis technology
PPTX
sap open course for s4hana steps from ECC to s4
Encapsulation_ Review paper, used for researhc scholars
Empathic Computing: Creating Shared Understanding
Big Data Technologies - Introduction.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A Presentation on Artificial Intelligence
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
Chapter 3 Spatial Domain Image Processing.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Advanced methodologies resolving dimensionality complications for autism neur...
The AUB Centre for AI in Media Proposal.docx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Electronic commerce courselecture one. Pdf
Network Security Unit 5.pdf for BCA BBA.
Spectroscopy.pptx food analysis technology
sap open course for s4hana steps from ECC to s4

Refactoring

  • 3. Car rental Refactoring
  • 4. Car rental Legacy code Refactoring
  • 5. Car rental Legacy code Refactoring What is it? Same input / output DIfferent architecture
  • 6. Car rental Legacy code Refactoring What is it? Same input / output DIfferent architecture What is it for? Raising your code value
  • 7. Car rental Legacy code Clean code that works Refactoring What is it? Same input / output DIfferent architecture What is it for? Raising your code value
  • 8. Car rental Lower interest rate Prevention Legacy code Technical debt Clean code that works Refactoring What is it? Same input / output DIfferent architecture What is it for? Raising your code value
  • 9. 2005 Agile coach @jacoporomei Jacopo Romei PHP developer 1999 since Symfony2 CMF Opensource 2011 Symfony1 patches
  • 11. Car rental Lower interest rate Prevention Legacy code Technical debt Clean code that works Refactoring Start-up What is it? Same input / output DIfferent architecture Short term goal Sustainability(?) What is it for? Raising your code value Dreadful dead end
  • 12. Car rental Lower interest rate Prevention Legacy code Technical debt Clean code that works Refactoring Start-up Simple What is it? Same input / output DIfferent architecture Short term goal Sustainability(?) What is it for? Raising your code value Dreadful dead end
  • 15. Car rental Lower interest rate Prevention Legacy code Technical debt Clean code that works Refactoring Start-up Simple What is it? of work not done Maximizing the amount Same input / output DIfferent architecture Short term goal Sustainability What is it for? Raising your code value Dreadful dead end Null interest rate Win-win short/long term Competitors
  • 17. Jacopo Romei jr@ideato.it via Quinto Bucci 205 47023 Cesena (FC) info AT ideato.it www.ideato.it