>>54
It's just fucking common sense:
- Pick up code you haven't worked on for months and try to understand it. Where you can't, you've just learned a lesson in what not to do.
- Learn to document. If the documentation takes a shitload of explanation for a small bit of code, rewrite the damn code to make it easier to understand.
- Learn to abstract. Write your code as if you're doing both a library and something that uses it. The ease of use of your more general code will tell you if your abstraction is balls or not.