Advanced Search
Start Your Free Trial

Overview

Other Readers Also Read...

Get more out of your legacy systems: more performance, functionality, reliability, and manageability

Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.

In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control.

The topics covered include

  • Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance

  • Getting legacy code into a test harness

  • Writing tests that protect you against introducing new problems

  • Techniques that can be used with any language or platform—with examples in Java, C++, C, and C#

  • Accurately identifying where code changes need to be made

  • Coping with legacy systems that aren't object-oriented

  • Handling applications that don't seem to have any structure

This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

© Copyright Pearson Education. All rights reserved.

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 5.0 out of 5 rating Based on 30 Ratings

Classic, Timeless Book for Techniques To Bring Your Legacy Systems Under Control - 2009-10-19
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This was one of those famous, timeless books (like Code Complete) that I had heard many people talk about, and I finally read it. To be honest it was in my Amazon "Wish List" for several months before I ordered it, but it lived up to the hype.

Remember when you first started writing software? Like most people, for me it was a very exciting time and I truly enjoyed learning and trying to push the boundaries of programming. It is a very primal passion that engulfed me, and it is the reason many of us got into this industry. Where did that go? Do you still feel that today? If so, you are one of the lucky ones. In this book, Michael explains how large code bases (that don't have tests around them) can sometimes suck that enjoyment out of our day-to-day tasks, because we slowly develop a fear making changes to this monolithic application because we are worried about what we might break or what expected side-effects fixing a bug or adding a new feature might have. Although we might not typically acknowledge this fear, it is present whether we admit it or not.

Sometimes we romanticize the idea of working on "Greenfield" projects, because if we were just able to start from scratch ... this would be much easier and a lot more fun. I have slowly become convinced that isn't the case. There is tedious and unexpected ripples in new projects just like existing projects. This book is dedicated to given practical techniques to remove that fear, and get to a place where you can actually enjoy working in your code base. It is possible, and Michael has the experience and expertise to help you bring your legacy systems under control.

I often am weary that books like this that are on "hot" topics like test-driven-development are fluff, and aren't very relevant to my day-to-day real-world code. Not true ... at least not on this book. I would highly recommend this to book to anyone. It is worth the money, time, and effort to read it cover-to-cover. This is probably in my top 5 for technology books in terms of real-world value they provide.

To read the full review or find more reviews for technical books, visit [...]

Best Software Book I've Read - 2009-07-31
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I have read many books by the most respected names in software development. This book is probably the best software development book that I have ever read. The advice is very practical. Anyone developing software should consider this a must-read.

The recipes will help you get your system under test. Once you have good test coverage, you will be able to modify the structure of your code without worrying that you are breaking something. You will also find yourself more productive writing new code if you can follow the advice and principles laid out in this book.

You will not regret purchasing this book.

Essential reading to sharpen your tools - 2009-05-21
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This is a must-read for software engineers. It clarifies some powerful techniques for bridging the gap between legacy (test-less and/or untestable) code and fresh, testable code. And BTW legacy doesn't necessarily mean somebody else's code, it could be code you wrote last week.

Great book - 2009-03-16
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Excellent book helping you to handle legacy systems. Gave me a lot of ideas on how to go on with the system I am working on. Only complaint I have is that it does not discuss legacy systems where you might need to a relational model already containing production data.

Foundational Knowledge Most Lack for the Average Developer - 2009-02-18
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Quite simply you cannot afford to be lacking this knowledge as it is simply standard in software organizations where success is not something taken lightly.

Browse Similar Topics

Top Level Categories:
Software Engineering

Sub-Categories:
Software Engineering > Process

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2009 Safari Books Online. All rights reserved.