Refactoring Is Not Just Clickbait - Kevlin Henney - NDC London 2023

Explore the often-overlooked art of refactoring, discover its true importance in software development, and learn how to manage technical debt effectively.

Key takeaways
  • Refactoring is often misunderstood as mere clickbait, but it’s actually a crucial part of software development.
  • Refactoring is a process of changing the internal structure of code without changing its external behavior.
  • Code refactoring can be thought of as a form of sculpture, where the goal is to reveal the hidden beauty within.
  • Technical debt is not necessarily bad, but it can be problematic if it’s not managed.
  • The concept of “XP” (eXtreme Programming) is often misunderstood, and refactoring is often associated with it.
  • The word “defect” is surprisingly close to the word “debt”, and it’s easy to understand why.
  • Debt (technical or financial) can be seen as a necessary means to achieve a goal, but it needs to be managed and repaid.
  • Refactoring is not a one-time event, but a continuous process that needs to be integrated into the development cycle.
  • There’s a difference between refining and refactoring: refinement is about making something better, while refactoring is about making something more maintainable.
  • Refactoring is not just about making code better, it’s also about making it more understandable, scalable, and maintainable.
  • Technical debt can lead to further debt, and it’s important to prioritize it to avoid a never-ending cycle of debt accumulation.