How do you know it’s crappy? Have you read the code?
Fwiw, I currently consider code generated by models below opus level borderline unusable. It really is horrendous there.
With opus, it's still not good - but it's a lot better then some of my colleagues write.
Well written code, carefully planned out and thought through is still only possible by either hand writing or holding the hand of the model so much that you may as well just write by have, as you'll be quicker.
However, the code opus produces is good enough... So I rarely take action anymore in private projects