Code refactoring can make code more manageable and efficient, and reduce technical debt. In this course, you’ll learn about the need for refactoring, best practices, and benefits of refactoring code. You’ll then examine technical debt and how to manage it, how to determine whether or not to refactor, and how refactoring relates to test-driven development. Next, you’ll explore available tools to aid in the refactoring process, and the classes of various code refactoring methods and features. You’ll continue with an examination of the code refactoring methods of coordinating data, and simplifying Boolean expressions, method calls, and class hierarchies. Lastly, you’ll explore the process of refactoring code to move towards a microservice architecture.