I was once told by a more experienced programmer to be mindful of writing clean, understandable code. "Write code as if it will be maintained by an impatient axe murderer who knows where you live." The visions induced by that sentence were beyond humorous, yet I now find myself coming back to this old code years later to make changes. At my current level of experience, I have a great deal of difficulty reading the code I wrote. I want to think that I was better than this, but I'm not. I certainly would never have allowed myself to write so much dependent code. There are better ways to accomplish the things I rigged up. If only I had half the experience I have now back then. So much was done just to accomplish working software, but the cost now is pain.
One particularly terrible example of how bad I have it now is that at the time, I did not give meaningful names to the controls in my application. So, now I have to know what button3 is, and why textBox12 can't be overwritten. I have to know that listBox1 is a list of customers, and listBox2 is a list of items. I have to know that label45 is the warning that pops up when you click on radioBtn7 without clearing textBox6. It's just pain. And now I'll never forget to make meaningful names a very high priority.