وبلاگ بلیان

Re-Engineering Legacy Software

معرفی کتاب «Re-Engineering Legacy Software» نوشتهٔ Chris Birchall، منتشرشده توسط نشر Manning Publications Co. LLC در سال 2016. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Re-Engineering Legacy Software» در دستهٔ بدون دسته‌بندی قرار دارد.

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. 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 SummaryAs 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 BookRe-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 InsideRefactoring legacy codebasesContinuous inspection and integrationAutomating legacy infrastructureNew tests for old codeModularizing monolithic projectsAbout the ReaderThis book is written for developers and team leads comfortable with an OO language like Java or C#.About the AuthorChris Birchall is a senior developer at the Guardian in London, working on the back-end services that power the website.Table of ContentsPART 1 GETTING STARTEDUnderstanding the challenges of legacy projects Finding your starting pointPART 2 REFACTORING TO IMPROVE THE CODEBASEPreparing to refactorRefactoringRe-architectingThe Big RewritePART 3 BEYOND REFACTORING—IMPROVING PROJECT WORKFLOWAND INFRASTRUCTUREAutomating the development environmentExtending automation to test, staging, and production environmentsModernizing the development, building, and deployment of legacy softwareStop writing legacy code! "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."--Provided by publisher

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.

Re-Engineering Legacy Software is an experience-driven guide to revitalizing inherited projects, covering refactoring, quality metrics, toolchain and workflow, continuous integration, infrastructure automation, and organizational culture. On the purely technical side, you'll learn techniques for introducing dependency injection for code modularity, quantitatively measuring quality, and automating infrastructure. On the strategic side, you'll develop practical processes for deciding whether to rewrite or refactor, team organization, and even convincing management that quality matters. 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.
دانلود کتاب Re-Engineering Legacy Software