Working Effectively with Legacy Code

Working Effectively with Legacy Code PDF Author: Michael Feathers
Publisher: Prentice Hall Professional
ISBN: 0132931753
Category : Computers
Languages : en
Pages : 457

Get Book

Book Description
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 Effectively with Legacy Code

Working Effectively with Legacy Code PDF Author: Michael Feathers
Publisher: Prentice Hall Professional
ISBN: 0132931753
Category : Computers
Languages : en
Pages : 457

Get Book

Book Description
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.

Modernizing Legacy Systems

Modernizing Legacy Systems PDF Author: Robert C. Seacord
Publisher: Addison-Wesley Professional
ISBN: 9780321118844
Category : Electronic books
Languages : en
Pages : 344

Get Book

Book Description
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.

Working with Legacy Systems

Working with Legacy Systems PDF Author: Robert Annett
Publisher: Packt Publishing Ltd
ISBN: 1838988572
Category : Computers
Languages : en
Pages : 152

Get Book

Book Description
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 PDF Author: Chris Birchall
Publisher: Simon and Schuster
ISBN: 1638353328
Category : Computers
Languages : en
Pages : 331

Get Book

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

Migrating Legacy Systems

Migrating Legacy Systems PDF Author: Michael L. Brodie
Publisher:
ISBN:
Category : Business & Economics
Languages : en
Pages : 252

Get Book

Book Description
Information systems that resist modification and don't support organizational requirements are a critical business problem. The authors present a step-by-step strategy for complete IS migration to a new environment and discuss the potential problems and alternatives that may arise in the process.

Legacy Systems

Legacy Systems PDF Author: William M. Ulrich
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 456

Get Book

Book Description
In Legacy Systems: Transformation Strategies, leading IT and business architecture consultant William Ulrich presents a step-by-step, phased roadmap to legacy transformation that maximizes business value, while minimizing cost, disruption, and risk. Transformation strategies, organizing disciplines, techniques, and tools reduce the risks of deploying the component-based architectures you need to stay competitive while maximizing the business value of core systems that work.

New Legacy System

New Legacy System PDF Author: Daniel W. Hancock
Publisher: DIANE Publishing
ISBN: 1437916422
Category : Computers
Languages : en
Pages : 91

Get Book

Book Description
Calif¿s. budget crisis has made plain that scarce revenues will put a premium on managing public resources better than ever if state gov¿t. is to meet its obligations and realize its vision for serving its people. The best mgmt. practices rely on sound info. tech. (IT) systems that can deliver up-to-date data about operations to decision-makers, who can act upon them to improve programs and services. In the last 8 years, Calif. has made great strides in delivering critical IT tools to its managers. Yet Calif. is still far behind other states that are using data to drive performance, due to fear of another big system failure. This report argues that it is time to push past those fears so that Calif. leaders can change the culture of gov¿t. by building the state¿s IT capacity. Illus.

The Renaissance of Legacy Systems

The Renaissance of Legacy Systems PDF Author: Ian Warren
Publisher: Springer Science & Business Media
ISBN: 1447108175
Category : Computers
Languages : en
Pages : 189

Get Book

Book Description
Many antiquated or legacy systems are still in operation today because they are critical to the organizations continued operations or are prohibitively expensive to replace. This book guides practitioners in managing the process of legacy system evolution. The author introduces a comprehensive method for managing a software evolution project, from its conception to the deployment of the resulting system. The book helps managers answer two critical decisions: What is the best way to evolve a particular legacy system? and How can the legacy system be migrated to a selected target architecture?

Beyond Legacy Code

Beyond Legacy Code PDF Author: David Scott Bernstein
Publisher:
ISBN: 9781680500790
Category : Application software
Languages : en
Pages : 0

Get Book

Book Description
We're losing tens of billions of dollars a year on broken software, and great new ideas such as agile development and Scrum don't always pay off. But there's hope. The nine software development practices in Beyond Legacy Code are designed to solve the problems facing our industry. Discover why these practices work, not just how they work, and dramatically increase the quality and maintainability of any software project. These nine practices could save the software industry. Beyond Legacy Code is filled with practical, hands-on advice and a common-sense exploration of why technical practices such as refactoring and test-first development are critical to building maintainable software. Discover how to avoid the pitfalls teams encounter when adopting these practices, and how to dramatically reduce the risk associated with building software--realizing significant savings in both the short and long term. With a deeper understanding of the principles behind the practices, you'll build software that's easier and less costly to maintain and extend. By adopting these nine key technical practices, you'll learn to say what, why, and for whom before how; build in small batches; integrate continuously; collaborate; create CLEAN code; write the test first; specify behaviors with tests; implement the design last; and refactor legacy code. Software developers will find hands-on, pragmatic advice for writing higher quality, more maintainable, and bug-free code. Managers, customers, and product owners will gain deeper insight into vital processes. By moving beyond the old-fashioned procedural thinking of the Industrial Revolution, and working together to embrace standards and practices that will advance software development, we can turn the legacy code crisis into a true Information Revolution.

Software Evolution and Maintenance

Software Evolution and Maintenance PDF Author: Priyadarshi Tripathy
Publisher: John Wiley & Sons
ISBN: 0470603410
Category : Computers
Languages : en
Pages : 416

Get Book

Book Description
Provides students and engineers with the fundamental developments and common practices of software evolution and maintenance Software Evolution and Maintenance: A Practitioner’s Approach introduces readers to a set of well-rounded educational materials, covering the fundamental developments in software evolution and common maintenance practices in the industry. Each chapter gives a clear understanding of a particular topic in software evolution, and discusses the main ideas with detailed examples. The authors first explain the basic concepts and then drill deeper into the important aspects of software evolution. While designed as a text in an undergraduate course in software evolution and maintenance, the book is also a great resource forsoftware engineers, information technology professionals, and graduate students in software engineering. Based on the IEEE SWEBOK (Software Engineering Body of Knowledge) Explains two maintenance standards: IEEE/EIA 1219 and ISO/IEC14764 Discusses several commercial reverse and domain engineering toolkits Slides for instructors are available online Software Evolution and Maintenance: A Practitioner’s Approach equips readers with a solid understanding of the laws of software engineering, evolution and maintenance models, reengineering techniques, legacy information systems, impact analysis, refactoring, program comprehension, and reuse.