وبلاگ بلیان

Working Effectively with Legacy Code, 1/e

معرفی کتاب «Working Effectively with Legacy Code, 1/e» نوشتهٔ Michael C. Feathers، منتشرشده توسط نشر Prentice Hall Professional Technical Reference در سال 2005. این کتاب در فرمت chm، زبان انگلیسی ارائه شده است. «Working Effectively with Legacy Code, 1/e» در دستهٔ بدون دسته‌بندی قرار دارد.

It should be no secret that the majority of commercial software development effort consists of dealing with other people's poorly constructed code, yet this book is one of only a handful of sources that offer any practical advice for such undertakings, and the closest thing to a comprehensive reference on the subject so far as I know. Here you'll find dozens of useful techniques organized according to the kind of problem that they address, each explained concisely with concrete examples. Lots of them are things that I've had success with in the past, and of the ones I haven't tried yet, there's nothing in my 19 years of industry experience that leads me to doubt that they work. A word of caution, though: It understates both the difficulty and the importance of having everyone who works on the same code to buy into the ideas it puts forth. Negligent programmers will resist change because they tend to benefit from "adverse selection" (look it up on Wikipedia), and you really don't want to be the only one worrying about code coverage and maintainability while everyone else creates messes for you to clean up. Appealing to engineering wisdom and common interest is not always so easy as it sounds. But on the whole, this is fine advice, and every programmer should own a copy. Not only will it help you to better the quality of your life by improving the state of your most troublesome projects, but also it will teach you to minimize the problems that you create in the first place, as well as how to fix those problems before they become too costly.

This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.

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.

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. "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 own 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." "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."--Jacket
دانلود کتاب Working Effectively with Legacy Code, 1/e