Product Description

As the application of object technology--particularly the Java programming language--has become commonplace a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers resulting in applications that are inefficient and hard to maintain and extend. Increasingly software system professionals are discovering just how difficult it is to work with these inherited non-optimal applications. For several years expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as refactoring these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use. . .until now. In Refactoring: Improving the Design of Existing Software renowned object technology mentor Martin Fowler breaks new ground demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process. With proper training a skilled system designe

Amazon.com Review

Your class library works?? but could it be better? ">Refactoring: Improving the Design of Existing Code shows how refactoring can make object-oriented code simpler and easier to maintain. Today refactoring requires considerable design know-how?? but once tools become available?? all programmers should be able to improve their code using refactoring techniques.

Besides an introduction to refactoring?? this handbook provides a catalog of dozens of tips for improving code. The best thing about Refactoring is its remarkably clear presentation?? along with excellent nuts-and-bolts advice?? from object expert Martin Fowler. The author is also an authority on software patterns and UML?? and this experience helps make this a better book?? one that should be immediately accessible to any intermediate or advanced object-oriented developer. (Just like patterns?? each refactoring tip is presented with a simple name?? a "n??"and examples using Java and UML.)

Early chapters stress the importance of testing in successful refactoring. (When you improve code?? you have to test to verify that it still wo