Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Refactoring in Large Software Projects: Performing Complex Restructurings Successfully Review by Maudrit Martinez
Refactoring in Large Software Projects
Reviewed by Andres Anon
This book should be required reading for all developers and architects prior to attempting to refactor any application.
The material is presented very clearly. It touches on all aspects of refactoring form databases and published API's to single classes and methods. It emphasizes the importance of testing in refactoring and the use of emerging technologies (IDE's, plugin, and third party tools) to achieve this refactoring. It also concentrates on problems in applications which they refer to as smells. They identify the most common types of smells, how to locate them and refactor them in existing code and how to prevent them in future developments.
It provides a review of popular design principles and how to successfully refactor applications according to those principles. The examples are practical enough to understand but simple enough to follow without putting the book down. The book also reviews some of the most popular refactoring tools in the market PMD, JDepend, ClassCycle, Eclipse Metrics Plugin, RefactorIT, Dr. Freud, and SA4J.
Each chapter is organized differently. When covering the best practices for a large refactoring the author presents with a set of the most common problems and solutions. When covering how to refactor databases the author presents a very methodical approach. The constant throughout the reading is that every chapter presents a topic, provides experiences and recommendations as well as further reading that is available on any covered material.
I would definitely recommend that every java developer read this book sooner rather than later. It will provide you with a different perspective to guide you as you build your applications. After all, knowing what not to do is often as important as knowing what to do.