Skip to main content
Books, videos, and music - all free from your public library!
LoginSign Up

Footer

Hoopla logo, Go to homepage
  • For Patrons
  • For Libraries (opens in new window)
  • For Vendors (opens in new window)
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)

Our Company

  • Our Story
  • Get Hoopla for your Library (opens in new window)
  • Get your content on hoopla (opens in new window)
  • Join our team (opens in new window)
  • Accessibility Statement

Our Content

  • Audiobooks
  • Ebooks
  • Movies
  • Television
  • Comics
  • BingePasses
  • Music
  • The Loop Blog

Help

  • Help Center
  • Submit Feedback
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)
  • Download on the App Store (opens in new window)
  • Get it on Google Play (opens in new window)
  • Available at Amazon Appstore (opens in new window)
© 2026 Midwest Tape, LLC. All rights reserved. Privacy Policy | Terms of Use
  • Hoopla logo
  • Browse
  • My Hoopla
  • Log In
  1. Navigate Home
  2. Ebooks
  3. Re-Engineering Legacy Software

EBOOK

Re-Engineering Legacy Software

Chris Birchall
(0)
sign up
Pages
232
Year
2016
Language
English
Publisher
Manning

About

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.

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

Table of Contents
PART 1 GETTING STARTED
• Understanding the challenges of legacy projects
• Finding your starting point. PART 2 REFACTORING TO IMPROVE THE CODEBASE
• Preparing to refactor
• Refactoring
• Re-architecting
• The Big Rewrite. PART 3 BEYOND REFACTORING-IMPROVING PROJECT WORKFLOWAND INFRASTRUCTURE
• Automating the development environment
• Extending automation to test, staging, and production environments
• Modernizing the development, building, and deployment of legacy software
• Stop writing legacy code!

Related Subjects

  • Computer Architecture
  • Computers
  • Adult Nonfiction
  • Object Oriented
  • Programming
  • General
  • Software Development & Engineering
  • Java
  • Languages
  • Systems Analysis & Design

Artists

Chris BirchallAuthor