Working Effectively with Legacy Code

Front Cover
Prentice Hall PTR, 2004 - Computers - 434 pages

This book provides programmers with the ability to cost effectively handlecommon legacy code problems without having to go through the hugelyexpensive task of rewriting all existing code. It describes a series of practicalstrategies that developers can employ to bring their existing softwareapplications under control. The author provides useful guidance about how touse these strategies when refactoring or making functional changes to codebases. One of the book's key points is that it teaches developers to write teststhat can be used to make sure they are not unintentionally changing theapplication as they optimize it. Examples are provided in Java, C++, and Csharp, and the book assumes that the reader has some knowledge of UMLnotation. Strategies using UML and code in C++ and Java primarily whilelanguage independent advice will be delivered in side bars and appendices forlanguage specific users.

From inside the book

What people are saying - Write a review

User ratings

5 stars
10
4 stars
1
3 stars
1
2 stars
0
1 star
0

LibraryThing Review

User Review  - thegreatape - LibraryThing

If you write software with other people, for fun or money, you should read this book. It's the best writing on how to get messy, awful software on the road to sanity, step by incremental step. Read full review

LibraryThing Review

User Review  - sangahn - LibraryThing

Great book, but get's kinda tedoius. Abstract interface, abstract implementation, so on and so on. However, I consider it to be a must read for programmers who don't work at startups (ie inevitably deal w/ legacy code). Read full review

Contents

Working with Feedback
9
I Need to Make Many Changes in One Area
19
Sensing and Separation
21
Copyright

20 other sections not shown

Other editions - View all

Common terms and phrases

About the author (2004)

MICHAEL C. FEATHERS works for Object Mentor, Inc., one of the world's top providers of mentoring, skill development, knowledge transfer, and leadership services in software development. He currently provides worldwide training and mentoring in Test-Driven Development (TDD), Refactoring, OO Design, Java, C#, C++, and Extreme Programming (XP). Michael is the original author of CppUnit, a C++ port of the JUnit testing framework, and FitCpp, a C++ port of the FIT integrated-testing framework. A member of ACM and IEEE, he has chaired CodeFest at three OOPSLA conferences.


(c) Copyright Pearson Education. All rights reserved.

Bibliographic information