Book Image

Refactoring with Microsoft Visual Studio 2010

By : Peter Ritchie
Book Image

Refactoring with Microsoft Visual Studio 2010

By: Peter Ritchie

Overview of this book

<p>Changes to design are an everyday task for many people involved in a software project. Refactoring recognizes this reality and systematizes the distinct process of modifying design and structure without affecting the external behavior of the system. As you consider the benefits of refactoring, you will need this complete guide to steer you through the process of refactoring your code for optimum results.<br /><br />This book will show you how to make your code base more maintainable by detailing various refactorings. Visual Studio includes some basic refactorings that can be used independently or in conjunction to make complex refactorings easier and more approachable. This book will discuss large-scale code management, which typically calls for refactoring. To do this, we will use enterprise editions of Visual Studio, which incorporate features like Application Performance Explorer and Visual Studio Analyzer. These features make it simple to handle code and prove helpful for refactoring quickly.<br /><br />This book introduces you to improving a software system's design through refactoring. It begins with simple refactoring and works its way through complex refactoring. You will learn how to change the design of your software system and how to prioritize refactorings—including how to use various Visual Studio features to focus and prioritize design changes. The book also covers how to ensure quality in the light of seemingly drastic changes to a software system. You will also be able to apply standard established principles and patterns as part of the refactoring effort with the help of this book. You will be able to support your evolving code base by refactoring architectural behavior. As an end result, you will have an adaptable system with improved code readability, maintainability, and navigability.</p>
Table of Contents (17 chapters)
Refactoring with Microsoft Visual Studio 2010
Credits
About the Author
Acknowledgement
About the Reviewers
Preface
6
Improving Class Quality
9
Improving Architectural Behavior

Acknowledgement

Any sort of body of work is like a child: it takes a village raise a body of work. This body of work is no different; it could not have existed without a huge village of software development constituents. Many people from this village have influenced me directly and many more have influenced me indirectly. There are too many to faithfully acknowledge in a single place.

Any sort of book on Refactoring is based on the work of Martin Fowler and William Opedyke. This book could not have existed in the state it has without their work. Refactoring itself is based on the techniques and methodologies developed or promoted by Ward Cunningham and Kent Beck.

Some of the refactorings use design techniques right out of Domain Driven Design. Eric Evens organized and systematicized patterns and practices on good object-oriented design.

I have to acknowledge the early years of the ALT.NET movement and the people involved in it. ALT.NET promoted a more scientific view of software development, promoting generally accepted principles, methodologies, and community over not-invented-here, cowboy development, and working in a vacuum. I can't possibly list all the people who have been involved with ALT.NET, but some of those people that I've had the pleasure of being involved with or influenced by include (in no particular order): David Laribee, Scott Bellware, Jeremy Miller, Greg Young, Donald Belcham, James Kovacs, Jean-Paul Boodhoo, Kyle Baley, Karl Seguin, Oren Eini, Steven List, Adam Dymitruk, Udi Dahan, Glenn Block, Derek Whittaker, Justice Gray, Roy Osherove, Scott Allen, Scott Koon, Brad Wilson, and many, many others.

Much thanks to the people at Packt and the technical reviewers that provided many other points of view to what I had written. Thanks to Bill Wagner for his feedback and advice.

Also, many thanks to Charlie Calvert, Mark Michaelis, and Bill Wagner for our collaborations on community. It promoted and facilitated my views on being involved with and giving back to the software development community.

Finally, I have to acknowledge my wife Sherry, who's had the patience and support that allows me to follow my software development interests that take up so much of my spare time, like writing this book.