Comparison
Boat anchorvsChesterton's fence
Boat anchor
the component is fully wired in, fully maintained, and used by exactly nothing, kept because it might be needed.
A piece of the system retained for a future use that has not arrived, still carrying maintenance, build time and dependency risk. It differs from dead code in intent — it was kept deliberately — which is what makes it harder to delete, because someone will defend it. The counter-argument is always the same: version control is where things you might need later belong.
Full entry →Chesterton's fence
you deleted the odd-looking retry, and a week later found out which flaky vendor it was for.
Do not remove something until you know why it was put there. It is not an argument for keeping everything — it is an argument that 'I cannot see why this exists' is a statement about your knowledge rather than about the thing. In practice it costs ten minutes of git blame, and the cases where those ten minutes save an incident are exactly the cases nobody could have predicted.
Full entry →