If you have any questions, you are always welcome to contact us. We'll get back to you as soon as possible, withing 24 hours on weekdays.
Customer service
All questions about your order, return and delivery must be sent to our customer service team by e-mail at yourstore@yourdomain.com
Sale & Press
If you are interested in selling our products, need more information about our brand or wish to make a collaboration, please contact us at press@yourdomain.com
Help
If you have any questions, you are always welcome to contact us. We'll get back to you as soon as possible, withing 24 hours on weekdays.
Customer service
All questions about your order, return and delivery must be sent to our customer service team by e-mail at yourstore@yourdomain.com
Sale & Press
If you are interested in selling our products, need more information about our brand or wish to make a collaboration, please contact us at press@yourdomain.com
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 Bookreengineering Legacy Software Is An Experiencedriven 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 Codebases Continuous Inspection And Integration Automating Legacy Infrastructure New Tests For Old Code Modularizing 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 Backend Services That Power The Website.Table Of Contentspart 1 Getting Started Understanding The Challenges Of Legacy Projects Finding Your Starting Point Part 2 Refactoring To Improve The Codebase Preparing To Refactor Refactoring Rearchitecting The Big Rewrite Part 3 Beyond Refactoringimproving 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!
⚠️ WARNING (California Proposition 65):
This product may contain chemicals known to the State of California to cause cancer,
birth defects, or other reproductive harm.
<div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{"name":"shop_pay","wallet_params":{"shopId":73758048501,"merchantName":"Ergodebooks","personalized":true}},{"name":"amazon_pay","wallet_params":{"checkoutLanguage":"en_US","ledgerCurrency":"USD","placement":"Cart","sandbox":false,"merchantId":"A1G1ZY975O1T6J","productType":"PayAndShip","design":"C0002"}},{"name":"paypal","wallet_params":{"shopId":73758048501,"countryCode":"US","merchantName":"Ergodebooks","phoneRequired":true,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":true,"hasManagedSellingPlanState":false,"requiresBillingAgreement":false,"merchantId":"L873BZSC9NMQS","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AbasDhzlU0HbpiStJiN1KRJ_cNJJ7xYBip7JJoMO0GQpLi8ePNgdbLXkC7_KMeyTg8tnAKW4WKrh9qmf\u0026merchant-id=L873BZSC9NMQS\u0026intent=authorize"}}]" access-token="c0f52a66b386e9fa5c0ab4c2febc737c" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="73758048501" cart-id="4f3a795cbc8db690253d1c32ad8437a2" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li> </ul> </div> </shopify-accelerated-checkout-cart> <small id="shopify-buyer-consent" class="hidden" aria-hidden="true" data-consent-type="subscription"> One or more of the items in your cart is a recurring or deferred purchase. By continuing, I agree to the <span id="shopify-subscription-policy-button">cancellation policy</span> and authorize you to charge my payment method at the prices, frequency and dates listed on this page until my order is fulfilled or I cancel, if permitted. </small> </div>
Stay in the know
Subscribe to our newsletter and stay updated on latest offers, discounts and events near you.
For MAP (Minimum Advertised Price) violations, please contact:
map@ergode.com
For Intellectual Property (IP) or Trademark concerns, please contact:
ip@ergode.com
⚠️ California Proposition 65 Warning: Some products sold on this website may expose you to chemicals known to the State of California to cause cancer, birth defects, or other reproductive harm. For more information, visit www.P65Warnings.ca.gov.