Being a developer, I read this and think, what developer thinks any existing codebase is NOT a mess. It's the number one developer complaint ever. They (we?) all think we know a better way.
Being a developer, I read this and think, what developer thinks any existing codebase is NOT a mess. It's the number one developer complaint ever. They (we?) all think we know a better way.
In the real world, production projects get messy because getting stuff done is more important than building a codebase that represents the paragon of academic excellence. That doesn't automatically make the project horrible.
Lack of motivation often means lack of process, lack of process often means lack of testing and maintenance, lack of testing and maintenance often means lack of quality. It's a vicious cycle too - once you start down the road it's harder and harder to get motivated about your product again.
Honestly, the only reason the codebase isn't a mess is its a single project I've been able to tightly control and enforce things on [because its 100% my problem if something goes wrong].
The rest of our codebase is filled with drama. :/
// X - uncommented on 1.2.03 to fix bug
// Y - commented again on 3.2.03 because it broke stuff
// if (condition)
{
... logic here, half of it commented out ...
}