Articles about procrastination always fall into a "work when you don't feel like working" catch-22 that makes them hard to take seriously.
I didn't cure my procrastination until I internalized a sense of professionalism. I go to work like everyone else who goes to work. When I'm at work I have an obligation to my employer, my family, and myself to do what I'm supposed to do as well as I can. This also makes it easy to indulge in what I want when I'm off the clock.
If you can't get started, at least try and avoid distractions during your "professional" time. You can work or you can do nothing. That is typically uncomfortable enough to gain some forward momentum on a project.
I thought about this for a bit and came to the conclusion that I have, but not because the codebase knocked my socks off. Instead, the codebase didn't have any of the signs of bad practices. Most everything was where I expected it to be, there was sufficient, but not stifling test and review practices, etc. It felt natural to work within.
So I don't think that a good codebase does any one particular thing well, it just avoids the bad parts of bad codebases. Via negativa in practice.
I didn't cure my procrastination until I internalized a sense of professionalism. I go to work like everyone else who goes to work. When I'm at work I have an obligation to my employer, my family, and myself to do what I'm supposed to do as well as I can. This also makes it easy to indulge in what I want when I'm off the clock.
If you can't get started, at least try and avoid distractions during your "professional" time. You can work or you can do nothing. That is typically uncomfortable enough to gain some forward momentum on a project.