Since I tend to get interrupted or distracted while working on a project, it often gets set aside for weeks at a time. I often forget what I was planning to do next, so I've adopted the practice of commenting the crap out of everything I do. Even before I start, out of long habit, I write a skeleton program (these days the IDE does that for me), then block it out with comments before I start writing any code. Those comments usually include any pseudocode I can think of to document my thoughts about how to build each section. When I'm done, I sometimes remove the unnecessary comments, and sometimes I don't. Since no one else ever sees it, what does it matter if I leave it cluttered by my notes? :-D
"A Journey of a Thousand Rest Stops Begins with a Single Movement"