Even the worst-written legacy code can continue to provide value if we simply leave it alone—as long as it doesn’t need to change.
This kind of judgment call should be made on a case-by-case basis. Mission-critical software requires different standards than video games. The good news about software is that, unlike physical machines, bits don’t wear out. But what about the legacy code that does need to be changed or extended?
When software is actually used, people find better ways to use it and that leads to change requests. If you want to support your users in finding more value in the software you’ve created for them, support them as their needs change by finding ways to safely improve your code.
Now that we know some ...