Screencast - Complex refactoring in simple steps, Part I: Replace Method with Method Object
Matthew Butt demonstrates how to compose simple automated refactoring steps in ReSharper to refactor code to better designs.
In this episode, we look at a method that exhibits the Long Parameter List and Data Clump smells. We Extract Class from Parameters to create a parameter object, and then, spotting Feature Envy, use Move Instance Method to shift the behaviour to the new class. We finish by tidying up the method object to remove generated code that might tempt us to break encapsulation.
The code used in this video can be found on GitHub
Matthew believes that people and their relationships should be at the heart of our work as software developers. Since he started working with code in 2000 he has always focused on creating well-crafted software, and building close collaborative relationships within and beyond the technical team.
Recently Matthew has worked primarily on the .NET platform, and he is experienced in giving new life to legacy code written in C# and VB, as well as crafting projects that take advantage of the latest developments on the platform.
Matthew is passionate about teaching excellence in software development, and he is equally at home running a one-hour workshop or designing and implementing a six-month apprenticeship programme. He is a regular participant in the wider Software Craftsmanship and Extreme programming communities.
We are software craftspeople. We build well-crafted software for our clients, we help developers to get better at their craft through training, coaching and mentoring, and we help companies get better at delivering software.