Breathing Life Into Old Code

I ran into some code today that hasn't been updated in a while. I could tell because there are coding patterns in it that make me cringe.
It is not very good at self-documenting, the class name is odd, and the functions are vague. At times, I feel like this code can be factored down to nothing. Hopefully it can be.
Growing as a software developer means that looking at older code can be like looking at your high school yearbooks. You don't remember what you were thinking, but you know it was definitely not quite right. But it's okay, this means that you've improved. Fixing your older code and other people's code is really what makes a developer. Anyone can write new code, but making existing code better is an accomplishment that builds skills.