﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Understand Legacy Code</title><description>Change Messy Software Without Breaking It</description><link>https://understandlegacycode.com/</link><language>en-us</language><item><title>I built a visual tool for the Mikado Method</title><link>https://understandlegacycode.com/blog/visual-tool-mikado-method/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/visual-tool-mikado-method/</guid><description>The Mikado Method helps you tackle big changes safely. But drawing graphs on paper doesn&apos;t scale. I couldn&apos;t find a satisfying tool… so I built one: Nikado.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate><content:encoded>The Mikado Method helps you tackle big changes safely. But drawing graphs on paper doesn&apos;t scale. I couldn&apos;t find a satisfying tool… so I built one: Nikado.</content:encoded></item><item><title>The Legacy Code Survival Guide: Add Features Without Fear</title><link>https://understandlegacycode.com/blog/legacy-code-survival-guide-talk/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/legacy-code-survival-guide-talk/</guid><description>Steven Diamante gave a great presentation on Legacy Code at the Seattle Crafter meetup. Let&apos;s dive into it!</description><pubDate>Tue, 07 Oct 2025 10:36:52 GMT</pubDate><content:encoded>Steven Diamante gave a great presentation on Legacy Code at the Seattle Crafter meetup. Let&apos;s dive into it!</content:encoded></item><item><title>The key points of Refactoring at Scale</title><link>https://understandlegacycode.com/blog/key-points-of-refactoring-at-scale/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-of-refactoring-at-scale/</guid><description>Maude Lemaire wrote a great book rooted from her experience in the trenches, at Slack. Let&apos;s see how it may help you lead large-scale refactoring projects.</description><pubDate>Thu, 25 Apr 2024 00:00:00 GMT</pubDate><content:encoded>Maude Lemaire wrote a great book rooted from her experience in the trenches, at Slack. Let&apos;s see how it may help you lead large-scale refactoring projects.</content:encoded></item><item><title>The key points of Refactoring</title><link>https://understandlegacycode.com/blog/key-points-of-refactoring/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-of-refactoring/</guid><description>This book is a catalog of the bread-and-butter moves that can improve your coding game. Let&apos;s see what makes it a reference for any professional developer.</description><pubDate>Fri, 12 Jan 2024 00:00:00 GMT</pubDate><content:encoded>This book is a catalog of the bread-and-butter moves that can improve your coding game. Let&apos;s see what makes it a reference for any professional developer.</content:encoded></item><item><title>The key points of Kill It with Fire</title><link>https://understandlegacycode.com/blog/key-points-of-kill-it-with-fire/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-of-kill-it-with-fire/</guid><description>Let&apos;s rewrite the whole thing on a modern stack! Or should we? Marianne Bellotti offers a lot of wisdom in her book. Here are some examples…</description><pubDate>Tue, 19 Dec 2023 00:00:00 GMT</pubDate><content:encoded>Let&apos;s rewrite the whole thing on a modern stack! Or should we? Marianne Bellotti offers a lot of wisdom in her book. Here are some examples…</content:encoded></item><item><title>How to efficiently practice refactoring katas</title><link>https://understandlegacycode.com/blog/efficiently-practice-refactoring-katas/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/efficiently-practice-refactoring-katas/</guid><description>How to best learn out of refactoring exercises, depending on your level of experience.</description><pubDate>Sun, 26 Nov 2023 06:16:00 GMT</pubDate><content:encoded>How to best learn out of refactoring exercises, depending on your level of experience.</content:encoded></item><item><title>It&apos;s like coding in the dark!</title><link>https://understandlegacycode.com/blog/its-like-coding-in-the-dark/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/its-like-coding-in-the-dark/</guid><description>A look into Catherine Hicks&apos; white paper &quot;It’s Like Coding in the Dark: The need for learning cultures within coding teams&quot; (Catharsis Consulting).</description><pubDate>Tue, 17 Oct 2023 15:24:00 GMT</pubDate><content:encoded>A look into Catherine Hicks&apos; white paper &quot;It’s Like Coding in the Dark: The need for learning cultures within coding teams&quot; (Catharsis Consulting).</content:encoded></item><item><title>Find how to (re)organize code with git</title><link>https://understandlegacycode.com/blog/reorganize-code-with-git/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/reorganize-code-with-git/</guid><description>Does your codebase feel like a tote bag of &quot;shared&quot; and &quot;utils&quot; folder? Git may help you find a better structure.</description><pubDate>Wed, 19 Apr 2023 21:24:00 GMT</pubDate><content:encoded>Does your codebase feel like a tote bag of &quot;shared&quot; and &quot;utils&quot; folder? Git may help you find a better structure.</content:encoded></item><item><title>Delete unused code (and how to retrieve it)</title><link>https://understandlegacycode.com/blog/delete-unused-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/delete-unused-code/</guid><description>Dead code adds noise to the codebase and should be deleted. Yet, deleted code feels harder to retrieve. Here&apos;s how to find such code easily with git!</description><pubDate>Tue, 07 Mar 2023 20:00:00 GMT</pubDate><content:encoded>Dead code adds noise to the codebase and should be deleted. Yet, deleted code feels harder to retrieve. Here&apos;s how to find such code easily with git!</content:encoded></item><item><title>Can AI help me refactor legacy code?</title><link>https://understandlegacycode.com/blog/can-ai-refactor-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/can-ai-refactor-legacy-code/</guid><description>Can assistants like ChatGPT refactor existing code without introducing bugs? Let&apos;s figure it out with an actual codebase.</description><pubDate>Wed, 15 Feb 2023 15:10:00 GMT</pubDate><content:encoded>Can assistants like ChatGPT refactor existing code without introducing bugs? Let&apos;s figure it out with an actual codebase.</content:encoded></item><item><title>Can AI help me write tests on legacy code?</title><link>https://understandlegacycode.com/blog/can-ai-write-tests-on-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/can-ai-write-tests-on-legacy-code/</guid><description>People are using tools like ChatGPT to write tests on existing code… But how reliable is this? Let&apos;s find out!</description><pubDate>Wed, 08 Feb 2023 08:40:00 GMT</pubDate><content:encoded>People are using tools like ChatGPT to write tests on existing code… But how reliable is this? Let&apos;s find out!</content:encoded></item><item><title>Fake it until you automate it</title><link>https://understandlegacycode.com/blog/fake-it-until-you-automate-it/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/fake-it-until-you-automate-it/</guid><description>A pragmatic way for you to start automating deployments of a Legacy system.</description><pubDate>Mon, 09 Jan 2023 00:00:00 GMT</pubDate><content:encoded>A pragmatic way for you to start automating deployments of a Legacy system.</content:encoded></item><item><title>Comparing 2 approaches of refactoring untested code</title><link>https://understandlegacycode.com/blog/comparing-two-approaches-refactoring-untested-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/comparing-two-approaches-refactoring-untested-code/</guid><description>You need to change code that&apos;s not tested. How do you know you didn&apos;t break something? Let&apos;s compare 2 ways of doing that!</description><pubDate>Thu, 17 Nov 2022 09:00:00 GMT</pubDate><content:encoded>You need to change code that&apos;s not tested. How do you know you didn&apos;t break something? Let&apos;s compare 2 ways of doing that!</content:encoded></item><item><title>Another way of refactoring untested code</title><link>https://understandlegacycode.com/blog/another-way-of-refactoring-untested-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/another-way-of-refactoring-untested-code/</guid><description>You need to change code that&apos;s not tested. How do you know you didn&apos;t break something? Here is ANOTHER concrete way to tackle the problem.</description><pubDate>Tue, 11 Oct 2022 15:00:00 GMT</pubDate><content:encoded>You need to change code that&apos;s not tested. How do you know you didn&apos;t break something? Here is ANOTHER concrete way to tackle the problem.</content:encoded></item><item><title>One way of refactoring untested code</title><link>https://understandlegacycode.com/blog/one-way-of-refactoring-untested-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/one-way-of-refactoring-untested-code/</guid><description>You need to change code that&apos;s not tested. How do you know you didn&apos;t break something? Here is one concrete way to tackle the problem.</description><pubDate>Tue, 09 Aug 2022 15:00:00 GMT</pubDate><content:encoded>You need to change code that&apos;s not tested. How do you know you didn&apos;t break something? Here is one concrete way to tackle the problem.</content:encoded></item><item><title>7 advice to help you inherit a legacy codebase</title><link>https://understandlegacycode.com/blog/7-advice-inherit-legacy-codebase/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/7-advice-inherit-legacy-codebase/</guid><description>My recap of the most common and useful advice one can give to tackle Legacy codebases.</description><pubDate>Sun, 27 Feb 2022 09:35:00 GMT</pubDate><content:encoded>My recap of the most common and useful advice one can give to tackle Legacy codebases.</content:encoded></item><item><title>Improve your refactoring and testing skills with the Expense Report kata</title><link>https://understandlegacycode.com/blog/improve-refactoring-testing-expense-report-kata/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/improve-refactoring-testing-expense-report-kata/</guid><description>Watch Gregor Riegler refactor code with this coding exercise. Learn useful techniques from it.</description><pubDate>Mon, 13 Dec 2021 00:00:00 GMT</pubDate><content:encoded>Watch Gregor Riegler refactor code with this coding exercise. Learn useful techniques from it.</content:encoded></item><item><title>3 must-watch talks on Legacy Code</title><link>https://understandlegacycode.com/blog/3-must-watch-talks-on-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/3-must-watch-talks-on-legacy-code/</guid><description>I have hosted more than 37 speakers to talk about Legacy Code tips and tricks. Here is my top 3 of the talks you should probably watch!</description><pubDate>Sun, 12 Dec 2021 12:48:00 GMT</pubDate><content:encoded>I have hosted more than 37 speakers to talk about Legacy Code tips and tricks. Here is my top 3 of the talks you should probably watch!</content:encoded></item><item><title>The key points of The Programmer&apos;s Brain</title><link>https://understandlegacycode.com/blog/key-points-of-programmer-brain/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-of-programmer-brain/</guid><description>This book analyses how your brain works and gives concrete advice to help you work with Legacy Code. Here&apos;s my summary of its salient points.</description><pubDate>Sun, 12 Dec 2021 00:00:00 GMT</pubDate><content:encoded>This book analyses how your brain works and gives concrete advice to help you work with Legacy Code. Here&apos;s my summary of its salient points.</content:encoded></item><item><title>Testability, Empathy, and Safe Refactorings</title><link>https://understandlegacycode.com/blog/legacy-of-socrates-8th-edition/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/legacy-of-socrates-8th-edition/</guid><description>4 great talks on Legacy Code that I had the pleasure to host. This edition particularly focuses on testing and refactoring.</description><pubDate>Sat, 27 Nov 2021 07:00:00 GMT</pubDate><content:encoded>4 great talks on Legacy Code that I had the pleasure to host. This edition particularly focuses on testing and refactoring.</content:encoded></item><item><title>Can AI-based test generation help you test Legacy Code?</title><link>https://understandlegacycode.com/blog/ai-test-generation-for-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/ai-test-generation-for-legacy-code/</guid><description>I experimented with tools that can generate tests for you, leveraging AI. Here is what I learned, along with some thoughts about testing unfamiliar code…</description><pubDate>Tue, 09 Nov 2021 08:40:00 GMT</pubDate><content:encoded>I experimented with tools that can generate tests for you, leveraging AI. Here is what I learned, along with some thoughts about testing unfamiliar code…</content:encoded></item><item><title>Refactoring vs. Defactoring</title><link>https://understandlegacycode.com/blog/refactoring-and-defactoring/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/refactoring-and-defactoring/</guid><description>Some thoughts about refactoring and the opposite operation: defactoring.</description><pubDate>Tue, 26 Oct 2021 16:47:00 GMT</pubDate><content:encoded>Some thoughts about refactoring and the opposite operation: defactoring.</content:encoded></item><item><title>What unit test tool should I bring to my JavaScript team?</title><link>https://understandlegacycode.com/blog/test-tool-javascript-team/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/test-tool-javascript-team/</guid><description>A reflection on coaching, facts, and pragmatism. Which testing framework would I recommend to devs who are not familiar with testing?</description><pubDate>Tue, 05 Oct 2021 20:35:00 GMT</pubDate><content:encoded>A reflection on coaching, facts, and pragmatism. Which testing framework would I recommend to devs who are not familiar with testing?</content:encoded></item><item><title>DevOps, Living Documentation, and Hexagonal Architecture</title><link>https://understandlegacycode.com/blog/legacy-of-socrates-7th-edition/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/legacy-of-socrates-7th-edition/</guid><description>5 great talks on Legacy Code that I had the pleasure to host. This edition raises new topic such as documentation and legacy pipelines.</description><pubDate>Sun, 26 Sep 2021 20:15:00 GMT</pubDate><content:encoded>5 great talks on Legacy Code that I had the pleasure to host. This edition raises new topic such as documentation and legacy pipelines.</content:encoded></item><item><title>4 tips to refactor a complex legacy app without automation tools</title><link>https://understandlegacycode.com/blog/4-tips-refactor-without-tools/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/4-tips-refactor-without-tools/</guid><description>How do you refactor a complex legacy application when you can&apos;t rely on automation tools?</description><pubDate>Mon, 30 Aug 2021 22:00:00 GMT</pubDate><content:encoded>How do you refactor a complex legacy application when you can&apos;t rely on automation tools?</content:encoded></item><item><title>Design Patterns, Empathy, and Reading Complex Code</title><link>https://understandlegacycode.com/blog/legacy-of-socrates-6th-edition/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/legacy-of-socrates-6th-edition/</guid><description>4 great talks on Legacy Code that I had the pleasure to host. A focus on empathy and getting into complex codebases.</description><pubDate>Tue, 24 Aug 2021 20:15:00 GMT</pubDate><content:encoded>4 great talks on Legacy Code that I had the pleasure to host. A focus on empathy and getting into complex codebases.</content:encoded></item><item><title>Should we stick to old patterns or sacrifice consistency?</title><link>https://understandlegacycode.com/blog/consistency-or-progress/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/consistency-or-progress/</guid><description>Consistency is great! But over time, it&apos;s hard to keep a codebase consistent. Here&apos;s my approach to adopt changes without creating a mess.</description><pubDate>Sun, 22 Aug 2021 09:15:00 GMT</pubDate><content:encoded>Consistency is great! But over time, it&apos;s hard to keep a codebase consistent. Here&apos;s my approach to adopt changes without creating a mess.</content:encoded></item><item><title>What&apos;s the difference between Regression Tests, Characterization Tests, and Approval Tests?</title><link>https://understandlegacycode.com/blog/characterization-tests-or-approval-tests/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/characterization-tests-or-approval-tests/</guid><description>You may have heard one or the others. Now you&apos;re confused: is there a difference? Nope! Let me explain…</description><pubDate>Wed, 11 Aug 2021 09:15:00 GMT</pubDate><content:encoded>You may have heard one or the others. Now you&apos;re confused: is there a difference? Nope! Let me explain…</content:encoded></item><item><title>Keeping dependencies up-to-date</title><link>https://understandlegacycode.com/blog/keeping-dependencies-up-to-date/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/keeping-dependencies-up-to-date/</guid><description>My recipe for recovering from outdated dependencies and keeping healthy habits</description><pubDate>Tue, 29 Jun 2021 21:15:00 GMT</pubDate><content:encoded>My recipe for recovering from outdated dependencies and keeping healthy habits</content:encoded></item><item><title>Technical Debt, Rewrites, and Refactoring</title><link>https://understandlegacycode.com/blog/legacy-of-socrates-5th-edition/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/legacy-of-socrates-5th-edition/</guid><description>5 great talks on Legacy Code that I had the pleasure to host. Learn how to prioritize Tech Debt and rewrite systems incrementally.</description><pubDate>Sat, 08 May 2021 10:15:00 GMT</pubDate><content:encoded>5 great talks on Legacy Code that I had the pleasure to host. Learn how to prioritize Tech Debt and rewrite systems incrementally.</content:encoded></item><item><title>Is it OK to change code for the sake of testing?</title><link>https://understandlegacycode.com/blog/is-it-ok-to-change-code-for-testing-sake/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/is-it-ok-to-change-code-for-testing-sake/</guid><description>It seems necessary to start adding tests on this code… but what if it makes things worse?</description><pubDate>Tue, 04 May 2021 20:15:52 GMT</pubDate><content:encoded>It seems necessary to start adding tests on this code… but what if it makes things worse?</content:encoded></item><item><title>How to tell your client how bad their codebase is?</title><link>https://understandlegacycode.com/blog/tell-client-how-bad-codebase-is/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/tell-client-how-bad-codebase-is/</guid><description>When work looks trivial from the outside, but you know it will actually take much longer to do.</description><pubDate>Tue, 16 Feb 2021 20:00:27 GMT</pubDate><content:encoded>When work looks trivial from the outside, but you know it will actually take much longer to do.</content:encoded></item><item><title>Safely restructure your codebase with Dependency Graphs</title><link>https://understandlegacycode.com/blog/safely-restructure-codebase-with-dependency-graphs/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/safely-restructure-codebase-with-dependency-graphs/</guid><description>Even drawing them by hand can help you make sense of a tangled codebase! Let&apos;s see how they can help, and what tools you can use to generate these.</description><pubDate>Tue, 19 Jan 2021 20:08:00 GMT</pubDate><content:encoded>Even drawing them by hand can help you make sense of a tangled codebase! Let&apos;s see how they can help, and what tools you can use to generate these.</content:encoded></item><item><title>The key points of Re-Engineering Legacy Software</title><link>https://understandlegacycode.com/blog/key-points-reengineering-legacy-software/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-reengineering-legacy-software/</guid><description>Here&apos;s an interesting book on approaching Legacy Software. Here&apos;s my summary of its salient points.</description><pubDate>Tue, 12 Jan 2021 20:10:52 GMT</pubDate><content:encoded>Here&apos;s an interesting book on approaching Legacy Software. Here&apos;s my summary of its salient points.</content:encoded></item><item><title>Does refactoring Legacy Code pay off in your career?</title><link>https://understandlegacycode.com/blog/does-working-on-legacy-code-pays-off/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/does-working-on-legacy-code-pays-off/</guid><description>Working on Legacy systems can be extremely beneficial to your career… If you can explain why it matters to the business!</description><pubDate>Tue, 05 Jan 2021 20:21:57 GMT</pubDate><content:encoded>Working on Legacy systems can be extremely beneficial to your career… If you can explain why it matters to the business!</content:encoded></item><item><title>Refactoring, Unit Tests, and Symmathesy</title><link>https://understandlegacycode.com/blog/legacy-of-socrates-4th-edition/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/legacy-of-socrates-4th-edition/</guid><description>5 great talks on Legacy Code that I had the pleasure to host. Learn how to progressively migrate existing codebase towards a better state.</description><pubDate>Mon, 14 Dec 2020 20:05:57 GMT</pubDate><content:encoded>5 great talks on Legacy Code that I had the pleasure to host. Learn how to progressively migrate existing codebase towards a better state.</content:encoded></item><item><title>The key points of Beyond Legacy Code</title><link>https://understandlegacycode.com/blog/key-points-of-beyond-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-of-beyond-legacy-code/</guid><description>This book is filled with practical strategies to apply on Legacy systems. Here&apos;s my summary of its salient points.</description><pubDate>Tue, 01 Dec 2020 20:23:52 GMT</pubDate><content:encoded>This book is filled with practical strategies to apply on Legacy systems. Here&apos;s my summary of its salient points.</content:encoded></item><item><title>When is it the best time to refactor?</title><link>https://understandlegacycode.com/blog/when-is-the-best-time-to-refactor/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/when-is-the-best-time-to-refactor/</guid><description>Should you plan time for refactoring during Sprints? Refactor before you release new features? After? Here&apos;s my suggestion…</description><pubDate>Tue, 10 Nov 2020 20:07:28 GMT</pubDate><content:encoded>Should you plan time for refactoring during Sprints? Refactor before you release new features? After? Here&apos;s my suggestion…</content:encoded></item><item><title>Work faster and safer on untested code with Overcommitting</title><link>https://understandlegacycode.com/blog/work-faster-safer-untested-code-overcommitting/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/work-faster-safer-untested-code-overcommitting/</guid><description>A technique you can resort to when you need to make risky changes.</description><pubDate>Tue, 03 Nov 2020 05:47:00 GMT</pubDate><content:encoded>A technique you can resort to when you need to make risky changes.</content:encoded></item><item><title>The best way to start testing untested code</title><link>https://understandlegacycode.com/blog/best-way-to-start-testing-untested-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/best-way-to-start-testing-untested-code/</guid><description>Should you write E2E tests to cover more cases faster? Or is there a better approach?</description><pubDate>Fri, 23 Oct 2020 06:14:00 GMT</pubDate><content:encoded>Should you write E2E tests to cover more cases faster? Or is there a better approach?</content:encoded></item><item><title>What you can do when code is really hard to review</title><link>https://understandlegacycode.com/blog/what-you-can-do-when-code-is-hard-to-review/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/what-you-can-do-when-code-is-hard-to-review/</guid><description>5 advice you can try when you feel paralyzed with a change that&apos;s too risky to merge, but too long to verify.</description><pubDate>Tue, 20 Oct 2020 06:17:00 GMT</pubDate><content:encoded>5 advice you can try when you feel paralyzed with a change that&apos;s too risky to merge, but too long to verify.</content:encoded></item><item><title>The key points of The Legacy Code Programmer&apos;s Toolbox</title><link>https://understandlegacycode.com/blog/key-points-of-legacy-code-programmer-toolbox/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-of-legacy-code-programmer-toolbox/</guid><description>This book is full of tips to get into an unfamiliar codebase. Here&apos;s my summary of its salient points.</description><pubDate>Tue, 29 Sep 2020 08:23:52 GMT</pubDate><content:encoded>This book is full of tips to get into an unfamiliar codebase. Here&apos;s my summary of its salient points.</content:encoded></item><item><title>Approval Tests, TCR, and Menders</title><link>https://understandlegacycode.com/blog/legacy-of-socrates-3rd-edition/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/legacy-of-socrates-3rd-edition/</guid><description>5 great talks on Legacy Code that I had the pleasure to host. Learn how to test existing code and approach unfamiliar codebases.</description><pubDate>Mon, 21 Sep 2020 12:15:57 GMT</pubDate><content:encoded>5 great talks on Legacy Code that I had the pleasure to host. Learn how to test existing code and approach unfamiliar codebases.</content:encoded></item><item><title>When should you stop refactoring Legacy Code?</title><link>https://understandlegacycode.com/blog/when-should-you-stop-refactoring-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/when-should-you-stop-refactoring-legacy-code/</guid><description>A personal story to illustrate how good habits can save your day when things turn bad.</description><pubDate>Tue, 15 Sep 2020 21:10:28 GMT</pubDate><content:encoded>A personal story to illustrate how good habits can save your day when things turn bad.</content:encoded></item><item><title>4 developers working their way through Legacy Code</title><link>https://understandlegacycode.com/blog/4-videos-seasoned-developers-working-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/4-videos-seasoned-developers-working-legacy-code/</guid><description>Practice working with code you&apos;ve never seen before helps make it easier. Here&apos;s my selection of videos that will expose you to seasoned developers doing that!</description><pubDate>Tue, 01 Sep 2020 21:13:12 GMT</pubDate><content:encoded>Practice working with code you&apos;ve never seen before helps make it easier. Here&apos;s my selection of videos that will expose you to seasoned developers doing that!</content:encoded></item><item><title>Where should you put the documentation?</title><link>https://understandlegacycode.com/blog/where-to-put-documentation/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/where-to-put-documentation/</guid><description>What you should be looking for to build a great and useful documentation.</description><pubDate>Mon, 17 Aug 2020 21:19:28 GMT</pubDate><content:encoded>What you should be looking for to build a great and useful documentation.</content:encoded></item><item><title>Start cleaning your Legacy codebase with The Daily Refactoring Hour</title><link>https://understandlegacycode.com/blog/start-cleaning-legacy-with-daily-refactoring-hour/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/start-cleaning-legacy-with-daily-refactoring-hour/</guid><description>Building the habit of small refactorings as you go will make a difference in the long run.</description><pubDate>Mon, 20 Jul 2020 10:10:28 GMT</pubDate><content:encoded>Building the habit of small refactorings as you go will make a difference in the long run.</content:encoded></item><item><title>Identify who to ask for help with Knowledge Maps</title><link>https://understandlegacycode.com/blog/identify-who-to-ask-with-knowledge-maps/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/identify-who-to-ask-with-knowledge-maps/</guid><description>Learn to draw a Knowledge Map of your codebase within minutes, and find out who owns what!</description><pubDate>Thu, 09 Jul 2020 08:31:28 GMT</pubDate><content:encoded>Learn to draw a Knowledge Map of your codebase within minutes, and find out who owns what!</content:encoded></item><item><title>Quickly improve code readability with Proximity Refactorings</title><link>https://understandlegacycode.com/blog/quickly-improve-code-readability-with-proximity-refactoring/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/quickly-improve-code-readability-with-proximity-refactoring/</guid><description>Here&apos;s a technique that leverages how your brain works to make any code easier to work with.</description><pubDate>Sun, 05 Jul 2020 23:08:27 GMT</pubDate><content:encoded>Here&apos;s a technique that leverages how your brain works to make any code easier to work with.</content:encoded></item><item><title>The key points of Software Design X-Rays</title><link>https://understandlegacycode.com/blog/key-points-of-software-design-x-rays/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-of-software-design-x-rays/</guid><description>This book is a gold mine. Yet, it&apos;s not a famous one. Here&apos;s my summary of its salient points that can help you deal with large codebases.</description><pubDate>Tue, 30 Jun 2020 20:53:52 GMT</pubDate><content:encoded>This book is a gold mine. Yet, it&apos;s not a famous one. Here&apos;s my summary of its salient points that can help you deal with large codebases.</content:encoded></item><item><title>7 techniques to regain control of your Legacy codebase</title><link>https://understandlegacycode.com/blog/7-techniques-to-regain-control-of-legacy/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/7-techniques-to-regain-control-of-legacy/</guid><description>Working with Legacy Code is no fun… unless you know how to approach it and get your changes done, safely.</description><pubDate>Tue, 23 Jun 2020 22:05:52 GMT</pubDate><content:encoded>Working with Legacy Code is no fun… unless you know how to approach it and get your changes done, safely.</content:encoded></item><item><title>If you mock, are you even testing?</title><link>https://understandlegacycode.com/blog/if-you-mock-are-you-even-testing/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/if-you-mock-are-you-even-testing/</guid><description>Is this the real code? Is this just fantasy? Let&apos;s discuss the problem with unit testing Legacy Code and an approach you can take.</description><pubDate>Mon, 15 Jun 2020 21:48:27 GMT</pubDate><content:encoded>Is this the real code? Is this just fantasy? Let&apos;s discuss the problem with unit testing Legacy Code and an approach you can take.</content:encoded></item><item><title>Convince managers to address Tech Debt with Enclosure Diagrams</title><link>https://understandlegacycode.com/blog/convince-management-to-address-tech-debt-with-enclosure-diagrams/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/convince-management-to-address-tech-debt-with-enclosure-diagrams/</guid><description>How to come up with a plan that will resonate with non-technical people, in 7 concrete steps.</description><pubDate>Mon, 08 Jun 2020 22:31:28 GMT</pubDate><content:encoded>How to come up with a plan that will resonate with non-technical people, in 7 concrete steps.</content:encoded></item><item><title>Demine your codebase in 30min with Exploratory Refactoring</title><link>https://understandlegacycode.com/blog/demine-codebase-with-exploratory-refactoring/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/demine-codebase-with-exploratory-refactoring/</guid><description>When you&apos;re stuck trying to understand some code, it pays off to spend some time with a different approach.</description><pubDate>Mon, 01 Jun 2020 22:07:28 GMT</pubDate><content:encoded>When you&apos;re stuck trying to understand some code, it pays off to spend some time with a different approach.</content:encoded></item><item><title>7 practices for a successful code handover</title><link>https://understandlegacycode.com/blog/7-practices-successful-handover/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/7-practices-successful-handover/</guid><description>Code handovers are critical moments in the lifetime of a project. Make the most out of it with these advice.</description><pubDate>Tue, 26 May 2020 20:50:12 GMT</pubDate><content:encoded>Code handovers are critical moments in the lifetime of a project. Make the most out of it with these advice.</content:encoded></item><item><title>Reveal the structure of long methods with an online Word Counter</title><link>https://understandlegacycode.com/blog/reveal-long-methods-structure-with-online-word-counter/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/reveal-long-methods-structure-with-online-word-counter/</guid><description>You don&apos;t need fancy tools to start making a dent on a scary method. Simply take a step back.</description><pubDate>Mon, 18 May 2020 22:47:33 GMT</pubDate><content:encoded>You don&apos;t need fancy tools to start making a dent on a scary method. Simply take a step back.</content:encoded></item><item><title>A quick way to add tests when code has database or HTTP calls</title><link>https://understandlegacycode.com/blog/quick-way-to-add-tests-when-code-does-side-effects/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/quick-way-to-add-tests-when-code-does-side-effects/</guid><description>You need to fix a bug, but you can&apos;t spend a week on it? Here&apos;s a technique to isolate problematic side-effects and write tests within minutes.</description><pubDate>Sat, 09 May 2020 21:47:33 GMT</pubDate><content:encoded>You need to fix a bug, but you can&apos;t spend a week on it? Here&apos;s a technique to isolate problematic side-effects and write tests within minutes.</content:encoded></item><item><title>Bring Legacy Code under tests by handling global variables</title><link>https://understandlegacycode.com/blog/best-way-to-handle-global-variables/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/best-way-to-handle-global-variables/</guid><description>What&apos;s the best way to deal with these annoying global variables? Make them explicit.</description><pubDate>Mon, 04 May 2020 22:42:00 GMT</pubDate><content:encoded>What&apos;s the best way to deal with these annoying global variables? Make them explicit.</content:encoded></item><item><title>Earn future maintainers esteem by writing simple ADRs</title><link>https://understandlegacycode.com/blog/earn-maintainers-esteem-with-adrs/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/earn-maintainers-esteem-with-adrs/</guid><description>With Legacy Code, there is never any good documentation. Hopefully, there&apos;s a simple way for you to stop that trend.</description><pubDate>Tue, 28 Apr 2020 20:53:12 GMT</pubDate><content:encoded>With Legacy Code, there is never any good documentation. Hopefully, there&apos;s a simple way for you to stop that trend.</content:encoded></item><item><title>Is it fine to use &quot;AND&quot; in a function name?</title><link>https://understandlegacycode.com/blog/improving-legacy-function-names/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/improving-legacy-function-names/</guid><description>Finding a better name for a function is hard, especially when people have contradictory opinions on what a good name looks like…</description><pubDate>Sun, 19 Apr 2020 21:18:27 GMT</pubDate><content:encoded>Finding a better name for a function is hard, especially when people have contradictory opinions on what a good name looks like…</content:encoded></item><item><title>5 talks on Legacy Code: The Legacy of SoCraTes, 1st edition</title><link>https://understandlegacycode.com/blog/legacy-of-socrates-1st-edition/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/legacy-of-socrates-1st-edition/</guid><description>Tips and advice on dealing with Legacy Code from 5 great speakers at this remote conference I organized for the community.</description><pubDate>Sun, 12 Apr 2020 12:15:57 GMT</pubDate><content:encoded>Tips and advice on dealing with Legacy Code from 5 great speakers at this remote conference I organized for the community.</content:encoded></item><item><title>Focus refactoring on what matters with Hotspots Analysis</title><link>https://understandlegacycode.com/blog/focus-refactoring-with-hotspots-analysis/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/focus-refactoring-with-hotspots-analysis/</guid><description>Here&apos;s a way to prioritize refactoring when you have to deal with a large, unmaintainable codebase.</description><pubDate>Mon, 06 Apr 2020 18:18:27 GMT</pubDate><content:encoded>Here&apos;s a way to prioritize refactoring when you have to deal with a large, unmaintainable codebase.</content:encoded></item><item><title>Don&apos;t make Clean Code harder to maintain, use the Rule of Three</title><link>https://understandlegacycode.com/blog/refactoring-rule-of-three/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/refactoring-rule-of-three/</guid><description>If you worry that following clean code practices create more code to maintain, here&apos;s a way out.</description><pubDate>Mon, 30 Mar 2020 21:47:33 GMT</pubDate><content:encoded>If you worry that following clean code practices create more code to maintain, here&apos;s a way out.</content:encoded></item><item><title>Are functions that simply call another function a bad design choice?</title><link>https://understandlegacycode.com/blog/are-wrapper-functions-bad-design/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/are-wrapper-functions-bad-design/</guid><description>Let&apos;s see how you end up with these while trying to refactor Legacy Code and what you can do about that.</description><pubDate>Sun, 22 Mar 2020 01:47:28 GMT</pubDate><content:encoded>Let&apos;s see how you end up with these while trying to refactor Legacy Code and what you can do about that.</content:encoded></item><item><title>What is wrong with boolean parameters?</title><link>https://understandlegacycode.com/blog/what-is-wrong-with-boolean-parameters/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/what-is-wrong-with-boolean-parameters/</guid><description>And 4 ways to fix their usage in Legacy Code.</description><pubDate>Mon, 16 Mar 2020 01:47:28 GMT</pubDate><content:encoded>And 4 ways to fix their usage in Legacy Code.</content:encoded></item><item><title>5 coding exercises to practice refactoring Legacy Code</title><link>https://understandlegacycode.com/blog/5-coding-exercises-to-practice-refactoring-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/5-coding-exercises-to-practice-refactoring-legacy-code/</guid><description>Feeling overwhelmed by your legacy codebase? These katas will help you learn how to tackle it.</description><pubDate>Mon, 09 Mar 2020 01:12:33 GMT</pubDate><content:encoded>Feeling overwhelmed by your legacy codebase? These katas will help you learn how to tackle it.</content:encoded></item><item><title>Dive into an unfamiliar codebase from its edges</title><link>https://understandlegacycode.com/blog/dive-into-an-unfamiliar-codebase-from-its-edges/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/dive-into-an-unfamiliar-codebase-from-its-edges/</guid><description>Do you feel paralyzed, wondering how to approach a legacy codebase? Try to start from the system edges.</description><pubDate>Tue, 03 Mar 2020 02:47:33 GMT</pubDate><content:encoded>Do you feel paralyzed, wondering how to approach a legacy codebase? Try to start from the system edges.</content:encoded></item><item><title>The key points of Working Effectively with Legacy Code</title><link>https://understandlegacycode.com/blog/key-points-of-working-effectively-with-legacy-code/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/key-points-of-working-effectively-with-legacy-code/</guid><description>This book is a reference. Here&apos;s my summary of its salient points so you understand why it&apos;s so recommended.</description><pubDate>Fri, 21 Feb 2020 02:05:52 GMT</pubDate><content:encoded>This book is a reference. Here&apos;s my summary of its salient points so you understand why it&apos;s so recommended.</content:encoded></item><item><title>5 arguments to make managers care about technical debt</title><link>https://understandlegacycode.com/blog/5-arguments-to-make-managers-care-about-technical-debt/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/5-arguments-to-make-managers-care-about-technical-debt/</guid><description>If you think that management wouldn&apos;t let you refactor Legacy Code, use these 5 arguments to convince them.</description><pubDate>Tue, 18 Feb 2020 02:00:02 GMT</pubDate><content:encoded>If you think that management wouldn&apos;t let you refactor Legacy Code, use these 5 arguments to convince them.</content:encoded></item><item><title>The Ship of Theseus to NOT rewrite a legacy system from scratch</title><link>https://understandlegacycode.com/blog/ship-of-theseus-avoid-rewrite-legacy-system/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/ship-of-theseus-avoid-rewrite-legacy-system/</guid><description>When an application becomes impossible to maintain, a rewrite is very tempting. But it could make things worse.</description><pubDate>Mon, 10 Feb 2020 21:06:13 GMT</pubDate><content:encoded>When an application becomes impossible to maintain, a rewrite is very tempting. But it could make things worse.</content:encoded></item><item><title>Is it up to the newer developer to pay back others&apos; technical debt?</title><link>https://understandlegacycode.com/blog/is-it-to-the-newer-developer-to-pay-back-others-technical-debt/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/is-it-to-the-newer-developer-to-pay-back-others-technical-debt/</guid><description>And what you can do about it if you find yourself in such situation.</description><pubDate>Mon, 03 Feb 2020 03:23:12 GMT</pubDate><content:encoded>And what you can do about it if you find yourself in such situation.</content:encoded></item><item><title>Use the Mikado Method to do safe changes in a complex codebase</title><link>https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/</guid><description>When a codebase is large and complex, it&apos;s risky to big changes. Here&apos;s a structured way to approach the problem.</description><pubDate>Tue, 28 Jan 2020 12:18:27 GMT</pubDate><content:encoded>When a codebase is large and complex, it&apos;s risky to big changes. Here&apos;s a structured way to approach the problem.</content:encoded></item><item><title>3 steps to add tests on existing code when you have short deadlines</title><link>https://understandlegacycode.com/blog/3-steps-to-add-tests-on-existing-code-when-you-have-short-deadlines/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/3-steps-to-add-tests-on-existing-code-when-you-have-short-deadlines/</guid><description>Here&apos;s a recipe you can follow when you want to add tests on Legacy Code, but you don&apos;t have much time to do so.</description><pubDate>Fri, 24 Jan 2020 02:15:57 GMT</pubDate><content:encoded>Here&apos;s a recipe you can follow when you want to add tests on Legacy Code, but you don&apos;t have much time to do so.</content:encoded></item><item><title>What is Legacy Code? Is it code without tests?</title><link>https://understandlegacycode.com/blog/what-is-legacy-code-is-it-code-without-tests/</link><guid isPermaLink="true">https://understandlegacycode.com/blog/what-is-legacy-code-is-it-code-without-tests/</guid><description>Here&apos;s a useful definition of &quot;Legacy Code&quot; you can refer to.</description><pubDate>Wed, 22 Jan 2020 01:47:28 GMT</pubDate><content:encoded>Here&apos;s a useful definition of &quot;Legacy Code&quot; you can refer to.</content:encoded></item></channel></rss>