Refactoring is a mainstream programming practice now, but it's been 20 years since the first refactoring tool (Refactoring Browser) was released. This talk briefly outlines the evolution of refactoring in the last few decades and follows up with a discussion on what's happening now in the world of refactoring and what lies ahead. Topics covered: architecture refactoring, new kinds of refactoring tools, refactoring in the context of CI/CD (DevOps), refactoring other than code (e.g., databases), and refactoring for IaC (Infrastructure as Code).
Outline/Structure of the Talk
What is refactoring?
Code smells, design smells and architecture smells
Emerging refactoring kind: architecture refactoring
New kinds of refactoring tools
Refactoring in the context of CI/CD (DevOps)
Refactoring other than code (e.g., databases)
Refactoring for IaC (Infrastructure as Code)
What lies ahead in the world of refactoring
Apply refactoring for artefacts other code
Apply refactoring in modern contexts (e.g., Puppet code)
Developers, leads, agile technical coaches