I'm adding features to an existing service, and it causes me emotional distress, because there are 3 layers of legacy code next to the stuff I'm adding. I so want to go hog wild and rip up the old stuff. The only problem being, we're short on time and devs right now, so I have to add these strategic features.
Here's how I deal with it: Chunk up the work, and think of the next small piece I can accomplish. Get started on something, and leave the last easy piece sitting there while I take a break. When I come back and finish that chunk I have a positive reward feeling for finishing a chunk of code. Then I feel more like starting the next piece.