Its one of those things that's a hard lesson to learn; ideology isn't greater than experience.

One of the biggest lessons I learnt when I was a younger dev is a living allegory that my manager told me:

"one day the new boss came in to a budget meeting. The boss was out to make a good impression, and come out winning. The boss looked for any 'useless spend'.

Looking at the budget, the Boss saw how much was being spent on cleaner.

Looking around, the Boss boomed 'The place is spotless, why the fuck am I paying for cleaners. There's nothing to clean'

The underlings laughed and clapped. Oh how clever the Boss was, saving such a big amount at the first budget.

Needless to say the Boss was most put out when the invoice for pest removal, food standard violation and toilet cleaning landed in the next budget. "

There's a reason why things are done that way. It might not be a good reason, but its still a reason. You need to find and evaluate the reason for something existing, before you fuck it up. Yes, before you ask, I did fuck up, more than once.

I have a big legacy code base as part of my responsibility and Chesterton's Fence comes up at least once a month.