in reply to How do you code?
Then I solve the problem.
When the juice is all over the place, I write unit tests against interfaces to a degree, write some skeletal code and then fill it up. It helps me understand how things are laid out.
I try not to be to split across projects. Once I pass two, I start to get confused, or worse, neglectful.