I refactor my own code frequently. It is often relatively easy to refactor my own code because I know my code well. In fact, the process of maintaining and reading my own code often provides the ...
It has also been useful to refer to design patterns when discussing solutions with other developers. I have found the various extensions to the design patterns useful as well: C# Design Patterns, J2EE ...