Get Free Shipping on orders over $79
Re-Engineering Legacy Software - Chris Birchall

Re-Engineering Legacy Software

By: Chris Birchall

Paperback | 5 May 2016

At a Glance

Paperback


$168.75

or 4 interest-free payments of $42.19 with

 or 

Ships in 5 to 10 business days

Summary

As a developer, you may inherit projects built on existing codebases with design patterns, usage assumptions, infrastructure, and tooling from another time and another team. Fortunately, there are ways to breathe new life into legacy projects so you can maintain, improve, and scale them without fighting their limitations.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Book

Re-Engineering Legacy Software is an experience-driven guide to revitalizing inherited projects. It covers refactoring, quality metrics, toolchain and workflow, continuous integration, infrastructure automation, and organizational culture. You'll learn techniques for introducing dependency injection for code modularity, quantitatively measuring quality, and automating infrastructure. You'll also develop practical processes for deciding whether to rewrite or refactor, organizing teams, and convincing management that quality matters. Core topics include deciphering and modularizing awkward code structures, integrating and automating tests, replacing outdated build systems, and using tools like Vagrant and Ansible for infrastructure automation.

What's Inside

  • Refactoring legacy codebases
  • Continuous inspection and integration
  • Automating legacy infrastructure
  • New tests for old code
  • Modularizing monolithic projects

About the Reader

This book is written for developers and team leads comfortable with an OO language like Java or C#.

About the Author

Chris Birchall is a senior developer at the Guardian in London, working on the back-end services that power the website.

Table of Contents

    PART 1 GETTING STARTED

  1. Understanding the challenges of legacy projects
  2. Finding your starting point
  3. PART 2 REFACTORING TO IMPROVE THE CODEBASE

  4. Preparing to refactor
  5. Refactoring
  6. Re-architecting
  7. The Big Rewrite
  8. PART 3 BEYOND REFACTORING'IMPROVING PROJECT WORKFLOWAND INFRASTRUCTURE

  9. Automating the development environment
  10. Extending automation to test, staging, and production environments
  11. Modernizing the development, building, and deployment of legacy software
  12. Stop writing legacy code!

More in Computer Programming & Software Development

Addiction by Design : Machine Gambling in Las Vegas - Natasha Dow Schull
The C Programming Language : Prentice Hall Software - Brian Kernighan

RRP $107.04

$73.75

31%
OFF
Coding For Kids For Dummies : For Kids for Dummies - Camille McCue
Python All-in-One For Dummies : 3rd Edition - John C. Shovic

RRP $74.95

$55.75

26%
OFF
Web Engineering : Theory and Practice - Jeremiah Downey
The Essence of Software Engineering - Cersei Page
Introduction to Programming Languages - Gordon Hurley
Typesetting Mathematics With Latex - Robert Legato
Practical Probabilistic Programming - Stefan Nordin
Practical Probabilistic Programming - Stefan Nordin