Working Effectively with Legacy Code

Working Effectively with Legacy Code

AUTHOR: Michael Feathers

PUBLISHER: Prentice Hall

PAGES: 458

ISBN: 0131177052

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.

About the Author
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.

Book Category

Android Developer / Asp.Net / Asp.Net MVC / Blockchain / C# / C++ / Computer Science / Database / Game Developer / Java / JavaScript / jQuery / Linux / Maven / MS Sql / MySQL / Networking / Oracle / PHP / Python / Spring / VB.Net / Visual Studio / Web Developer

HRMS & Payroll Web Application

Benefits of adopting to Paperless Management

Paperless office as a sustainable business practice in Human Resource Management System (HRMS) on daily routine task that the system can do it automatically. Creating online job application can easily and quickly gather information that HR looking a candidates to hired a vacant position needed by the company from centralized data source. read more »

Paperless Payroll Automation Process

Through automated processing, the time you would have spent doing those tedious tasks is freed up for other, and focus on addressing errors, improving processes and delivering a better payroll results that could dramatically impact the future of payroll in your organization. read more »

Timekeeping System and Timesheet Processing

Paper timesheets daily time record is to track when employees start and end their work hours a day, but today's technologies used biometric finger scanner or other digital device to record daily time attendance In/Out. read more »

HRMS Employee Shift Schedule

Fixed shift schedule in every employee from Monday to Sunday is required during the processing of timesheet to get man-hour distribution report. This module designed a flexible shift because rest day work can occur in any days, just example of working in Shopping Mall that operates 7 days a week. read more »

HRMS Employee Online Account

Employee can check their available vacation leave, sick leave, pay slip or ability to work at home. Filing of overtime work, request temporary shift schedule and leave benefits is a convenient way using a paperless online form. read more »