Working Effectively with Legacy Code

Working Effectively with Legacy Code
Author: Michael Feathers
Publsiher: Prentice Hall Professional
Total Pages: 457
Release: 2004-09-22
Genre: Computers
ISBN: 9780132931755

Download Working Effectively with Legacy Code Book in PDF, Epub and Kindle

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.

Working with Legacy Systems

Working with Legacy Systems
Author: Robert Annett
Publsiher: Packt Publishing Ltd
Total Pages: 152
Release: 2019-06-03
Genre: Computers
ISBN: 9781838988579

Download Working with Legacy Systems Book in PDF, Epub and Kindle

The IT industry is obsessed with new technologies. Courses, books, and magazines mostly focus on what is new. Starting with what a legacy system looks like to applying various techniques for maintaining and securing these systems, this book gives you all the knowledge you need to maintain a legacy system.

Re Engineering Legacy Software

Re Engineering Legacy Software
Author: Chris Birchall
Publsiher: Simon and Schuster
Total Pages: 331
Release: 2016-04-15
Genre: Computers
ISBN: 9781638353324

Download Re Engineering Legacy Software Book in PDF, Epub and Kindle

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 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!

Modernizing Legacy Systems

Modernizing Legacy Systems
Author: Robert C. Seacord,Daniel Plakosh,Grace A. Lewis
Publsiher: Addison-Wesley Professional
Total Pages: 344
Release: 2003
Genre: Electronic books
ISBN: 0321118847

Download Modernizing Legacy Systems Book in PDF, Epub and Kindle

Most organizations rely on complex enterprise information systems (EISs) to codify their business practices and collect, process, and analyze business data. These EISs are large, heterogeneous, distributed, constantly evolving, dynamic, long-lived, and mission critical. In other words, they are a complicated system of systems. As features are added to an EIS, new technologies and components are selected and integrated. In many ways, these information systems are to an enterprise what a brain is to the higher species--a complex, poorly understood mass upon which the organism relies for its very existence. To optimize business value, these large, complex systems must be modernized--but where does one begin? This book uses an extensive real-world case study (based on the modernization of a thirty year old retail system) to show how modernizing legacy systems can deliver significant business value to any organization.

Kill It with Fire

Kill It with Fire
Author: Marianne Bellotti
Publsiher: No Starch Press
Total Pages: 250
Release: 2021-03-17
Genre: Computers
ISBN: 9781718501188

Download Kill It with Fire Book in PDF, Epub and Kindle

Kill It with Fire chronicles the challenges of dealing with aging computer systems, along with sound modernization strategies. How to survive a legacy apocalypse “Kill it with fire,” the typical first reaction to a legacy system falling into obsolescence, is a knee-jerk approach that often burns through tons of money and time only to result in a less efficient solution. This book offers a far more forgiving modernization framework, laying out smart value-add strategies and proven techniques that work equally well for ancient systems and brand-new ones. Renowned for restoring some of the world’s oldest, messiest computer networks to operational excellence, software engineering expert Marianne Bellotti distills key lessons and insights from her experience into practical, research-backed guidance to help you determine when and how to modernize. With witty, engaging prose, Bellotti explains why new doesn’t always mean better, weaving in illuminating case studies and anecdotes from her work in the field. You’ll learn: Where to focus your maintenance efforts for maximum impact and value How to pick the right modernization solutions for your specific needs and keep your plans on track How to assess whether your migrations will add value before you invest in them What to consider before moving data to the cloud How to determine when a project is finished Packed with resources, exercises, and flexible frameworks for organizations of all ages and sizes, Kill It with Fire will give you a vested interest in your technology’s future.

Extreme Programming and Agile Methods XP Agile Universe 2004

Extreme Programming and Agile Methods   XP Agile Universe 2004
Author: Carmen Zannier,Hakan Erdogmus,Lowell Lindstrom
Publsiher: Springer Science & Business Media
Total Pages: 246
Release: 2004-08-03
Genre: Computers
ISBN: 9783540228394

Download Extreme Programming and Agile Methods XP Agile Universe 2004 Book in PDF, Epub and Kindle

This book constitutes the refereed proceedings of the 4th Conference on Extreme Programming and Agile Methods, XP/Agile Universe 2004, held in Calgary, Canada in August 2004. The 18 revised full papers presented together with summaries of workshops, panels, and tutorials were carefully reviewed and selected from 45 submissions. The papers are organized in topical sections on testing and integration, managing requirements and usability, pair programming, foundations of agility, process adaptation, and educational issues.

Model Driven Software Migration A Methodology

Model Driven Software Migration  A Methodology
Author: Christian Wagner
Publsiher: Springer Science & Business Media
Total Pages: 319
Release: 2014-03-10
Genre: Computers
ISBN: 9783658052706

Download Model Driven Software Migration A Methodology Book in PDF, Epub and Kindle

Today, reliable software systems are the basis of any business or company. The continuous further development of those systems is the central component in software evolution. It requires a huge amount of time- man power- as well as financial resources. The challenges are size, seniority and heterogeneity of those software systems. Christian Wagner addresses software evolution: the inherent problems and uncertainties in the process. He presents a model-driven method which leads to a synchronization between source code and design. As a result the model layer will be the central part in further evolution and source code becomes a by-product. For the first time a model-driven procedure for maintenance and migration of software systems is described. The procedure is composed of a model-driven reengineering and a model-driven migration phase. The application and effectiveness of the procedure are confirmed with a reference implementation applied to four exemplary systems.

Modernizing Legacy Applications in PHP

Modernizing Legacy Applications in PHP
Author: Paul M. Jones
Publsiher: Packt Publishing Ltd
Total Pages: 286
Release: 2016-08-31
Genre: Computers
ISBN: 9781787127784

Download Modernizing Legacy Applications in PHP Book in PDF, Epub and Kindle

Get your code under control in a series of small, specific steps About This Book Learn to extract and replace legacy artifacts, Improve your application from the ground up while keeping your codebase fully operational, Improve the quality of your legacy applications. Who This Book Is For PHP developers from all skill levels will be able to get value from this book and will be able to transform their spaghetti code applications to clean, modular applications. If you are in the midst of a legacy refactor or you find yourself in a state of despair caused by the code you have inherited, this is the book for you. All you need is to have PHP 5.0 installed, and you're all set to change the way you maintain and deploy your code! What You Will Learn Replace global and new with dependency injection Extract SQL statements to gateways Convert action logic to controllers Remove repeated logic in page scripts Create maintainable PHP code from crufty legacy PHP In Detail Have you noticed that your legacy PHP application is composed of page scripts placed directly in the document root of the web server? Or, do your page scripts, along with any other classes and functions, combine the concerns of model, view, and controller into the same scope? Is the majority of the logical flow incorporated as include files and global functions rather than class methods? Working with such a legacy application feels like dragging your feet through mud, doesn't it?This book will show you how to modernize your application in terms of practice and technique, rather than in terms of using tools like frameworks and libraries, by extracting and replacing its legacy artifacts. We will use a step-by-step approach, moving slowly and methodically, to improve your application from the ground up. We'll show you how dependency injection can replace both the new and global dependencies. We'll also show you how to change the presentation logic to view files and the action logic to a controller. Moreover, we'll keep your application running the whole time. Each completed step in the process will keep your codebase fully operational with higher quality. When we are done, you will be able to breeze through your code like the wind. Your code will be autoloaded, dependency-injected, unit-tested, layer-separated, and front-controlled. Most of the very limited code we will add to your application is specific to this book. We will be improving ourselves as programmers, as well as improving the quality of our legacy application. Style and approach This book gives developers an easy-to-follow, practical and powerful process to bring their applications up to a modern baseline. Each step in the book is practical, self-contained and moves you closer to the end goal you seek: maintainable code. As you follow the exercises in the book, the author almost anticipates your questions and you will have the answers, ready to be implemented on your project.