I mentioned a few months ago in a similar thread that I now actively try to recognize when I'm creating an incomprehensible 300-line "abstraction" in order to avoid copying four line of code.
I sometimes notice but just can't stop it. The next step is usually a desperate attempt of painting that pig with documentation.