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 Thomas Duff

Introduces refactoring at the architectural level...

The concept of refactoring code shouldn't be a new idea to most software developers, but often it's done on a very limited basis. In those cases, it may be possible to allow the IDE to take care of much of the renaming and such. But what happens when you want to make a major refactoring change that spans the entire system? Resources and best practices are a little more rare in that case. Stefan Roock and Martin Lippert attempt to address that situation in their book Refactoring in Large Software Projects.

Contents: Introduction; Refactoring - An Overview; Architecture Smells; Large Refactorings; Refactoring of Relational Databases; API Refactorings; Tool-Based Detection and Avoidance of Architecture Smells; Conclusion; Glossary; Index

This book will be most helpful at the architecture level of a system; that is, when you determine that you've painted yourself into a design corner. It may be necessary to introduce a new feature that is somewhat similar to an existing one, but you can't just kill off the old feature due to unknown usage by others. Roock and Lippert show how it's possible to make these wholesale changes in a manner that allows for a graceful degradation of current functionality without sacrificing the new design. It's also helpful if you've solely focused on refactoring at the code level. The term "code smells" refer to situations where code develops a "stench" due to bad design or practices. This book takes that concept and stretches it out to the design level. Even if you're not in a situation where you need to redesign a system to remove some architectural smells, you'll learn what types of designs will introduce those "aromas" and how to avoid them. Much better not to make the mistake up front, than to have to refactor it out later.

Not an easy read, and you'll probably find some areas a bit more useful or applicable to where you're at. But if you're responsible for a system that is showing some age and getting harder to maintain, this might be a book that helps you turn the situation around.