I have a rule concerning blogging: a post has to be finished and published in a single sitting. With an absurdly active brain like mine, the subject matter changes like a kaleidoscope; yesterday’s topics ofter seem nonsense today and saving a post for later inevitably means it’s never going to be finished.
My drafts folder stopped growing once I realized the stuff there is never going to get published simply because it went out of date. I operate on a strict rule now: you start it – you finish it – you publish it.
Or trash it. But never leave work laying around, unresolved.
The same principle applies to code, probably. Every time so far I used git stash I ended up rewriting the code from scratch later simply because it was easier than trying to figure out which parts of the half-finished contraption still need work and what exactly did I have in mind while writing them.