I think its easier to get past this when you decide to be a bit more humble and give a bit more respect to the decisions made. As long as you don't assume your immediate reaction is gospel because you feel like you're better than someone who actually spent time solving the problem, suddenly you can look at things as decisions they made that are different than yours.
Yes dumb, bad things exist. But often they are simply compromises. If you were to rewrite things you'd often just make different compromises.
In that light, there is no 'moral imperative' or some such thing. You can start to look at _why_ decisions were made and probably find subtlety you missed at first glance.
You might think this is foolish optimism and you know better but think about every refactor you've actually taken a part of instead of theorized and how much complexity shook out.
Yes dumb, bad things exist. But often they are simply compromises. If you were to rewrite things you'd often just make different compromises.
In that light, there is no 'moral imperative' or some such thing. You can start to look at _why_ decisions were made and probably find subtlety you missed at first glance.
You might think this is foolish optimism and you know better but think about every refactor you've actually taken a part of instead of theorized and how much complexity shook out.