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
"synopsis" may belong to another edition of this title.
Chris Birchall is a backend developer at M3 in Tokyo, working on Japan's largest medical portal site. Previously he has worked on a wide range of projects including high-performance log management software, natural language analysis tools and numerous mobile sites. He is an active member of the Tokyo Scala community and an active open source contributor. He earned a degree in Computer Science from the University of Cambridge.
"About this title" may belong to another edition of this title.
FREE shipping within U.S.A.
Destination, rates & speedsSeller: Better World Books, Mishawaka, IN, U.S.A.
Condition: Very Good. Used book that is in excellent condition. May show signs of wear or have minor defects. Seller Inventory # 52387163-6
Quantity: 1 available
Seller: The Maryland Book Bank, Baltimore, MD, U.S.A.
paperback. Condition: Very Good. First Edition. Used - Very Good. Seller Inventory # 3-SS-4-0099
Quantity: 1 available
Seller: Toscana Books, AUSTIN, TX, U.S.A.
Paperback. Condition: new. Excellent Condition.Excels in customer satisfaction, prompt replies, and quality checks. Seller Inventory # Scanned1617292508
Quantity: 1 available
Seller: INDOO, Avenel, NJ, U.S.A.
Condition: As New. Unread copy in mint condition. Seller Inventory # SS9781617292507
Quantity: Over 20 available
Seller: INDOO, Avenel, NJ, U.S.A.
Condition: New. Brand New. Seller Inventory # 9781617292507
Quantity: Over 20 available
Seller: upickbook, Daly City, CA, U.S.A.
Paperback. Condition: New. Seller Inventory # mon0000231351
Quantity: 1 available
Seller: Rarewaves USA, OSWEGO, IL, U.S.A.
Paperback. Condition: New. DESCRIPTION Most developers inherit projects built on an existing codebase that reflect design patterns, usage assumptions, infrastructure, and tooling from another time and another team. (And the docs are complete rubbish.) Fortunately, there are techniques that can breathe new life into legacy projects, allowing them to be maintained, improved, and scaled without having to constantly fight their current limitations. Stronger applications can be developed by injecting new architectural patterns, modern techniques for performance analysis, updated tests and build tools, and a healthy dose of cultural wisdom-creating a better work experience for all involved. 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. On the technical side, readers will learn techniques for introducing dependency injection for code modularity, quantitatively measuring quality, and automating infrastructure. On the strategic side, they'll develop practical processes for solid decision making. Core topics include deciphering and modularizing awkward code structures, effectively integrating and automating tests, replacing an outdated build system, and infrastructure automation using tools like Vagrant and Ansible. KEY SELLING POINTS Practical step-by-step guide Concrete examples Provides techniques needed to tackle legacy projects Leads to more productive development and reduces bugs AUDIENCE This book is written for developers and team leads comfortable with an OO language like Java or C#. ABOUT THE TECHNOLOGY Ansible is an open-source software platform for configuring and managing computers that has recently been gaining a lot of traction. Vagrant is computer software for building complete development environments. Seller Inventory # LU-9781617292507
Quantity: 10 available
Seller: Grand Eagle Retail, Mason, OH, U.S.A.
Paperback. Condition: new. Paperback. DESCRIPTIONMost developers inherit projects built on an existing codebase that reflect design patterns, usage assumptions, infrastructure, and tooling from another time and another team. (And the docs are complete rubbish.) Fortunately, there are techniques that can breathe new life into legacy projects, allowing them to be maintained, improved, and scaled without having to constantly fight their current limitations. Stronger applications can be developed by injecting new architectural patterns, modern techniques for performance analysis, updated tests and build tools, and a healthy dose of cultural wisdomcreating a better work experience for all involved. 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. On the technical side, readers will learn techniques for introducing dependency injection for code modularity, quantitatively measuring quality, and automating infrastructure. On the strategic side, theyll develop practical processes for solid decision making. Core topics include deciphering and modularizing awkward code structures, effectively integrating and automating tests, replacing an outdated build system, and infrastructure automation using tools like Vagrant and Ansible. KEY SELLING POINTSPractical step-by-step guideConcrete examplesProvides techniques needed to tackle legacy projectsLeads to more productive development and reduces bugs AUDIENCEThis book is written for developers and team leads comfortable with an OO language like Java or C#. ABOUT THE TECHNOLOGYAnsible is an open-source software platform for configuring and managing computers that has recently been gaining a lot of traction. Vagrant is computer software for building complete development environments. KEY SELLING POINTSPractical step-by-step guideConcrete examplesProvides techniques needed to tackle legacy projectsLeads to more productive development and reduces bugs AUDIENCEThis book is written for developers and team leads comfortable with an OO language like Java or C#. Shipping may be from multiple locations in the US or from the UK, depending on stock availability. Seller Inventory # 9781617292507
Quantity: 1 available
Seller: Kennys Bookshop and Art Galleries Ltd., Galway, GY, Ireland
Condition: New. Num Pages: 380 pages. BIC Classification: UMZ. Category: (P) Professional & Vocational. . . 2016. 1st Edition. Paperback. . . . . Seller Inventory # V9781617292507
Quantity: 15 available
Seller: Kennys Bookstore, Olney, MD, U.S.A.
Condition: New. Num Pages: 380 pages. BIC Classification: UMZ. Category: (P) Professional & Vocational. . . 2016. 1st Edition. Paperback. . . . . Books ship from the US and Ireland. Seller Inventory # V9781617292507
Quantity: 15 available