This is
something I've
noticed in the several times I've
started over on a
project because I didn't like the
code.
When someone first starts
writing code for a new program, they're
generally very
excited about it and can write a lot of code in a
short amount of
time. If they run into a
problem, they're
determined enough to keep trying to
fix it until they
succeed. Naturally, as the project gets
larger, it becomes
harder to code as finding the cause of
bugs becomes more
time-consuming. As the rate of increase of both code
length and
functionality decreases, the amount of excitement about the project also goes down a lot, causing the project to
advance even
slower. It's really pretty depressing. I've gotten
stuck for a long
time on fairly
small problems just because I didn't want to spend the time to fix them. Sometimes the
momentum of completely
rewriting the
program (up to a few thousand lines) can get you further ahead in a few days than you would get by continuing to work on the code you stopped liking a while ago.
Writing really
good code in the
first place is a much better
alternative.