From neugierig.org

For example, imagine two applications A and B that are identical except in one way: application A has an additional test suite that collects a set of slow, flaky tests, which require painful manual updates.

Now suppose someone showed up to B with a patch making it like A: “Hey, this patch adds a bunch of tests. Note: they take a very long time to run, when they fail it doesn’t necessarily mean something is wrong, and when you change things in the app you will have to do a lot of tedious work to update them. Oh and also, though I’m giving you the code now, you’re on the hook forever for keeping it going into the future.” Would you accept the patch? I wouldn’t. And if that is so, you could reasonably argue you should also just delete the tests in application A.

This is an amazing way to look at existing code you need to revisit. The cost of maintenance is higher than the sunk cost of writing the code in the first place.

Back