I’m currently working on a project that I inherited from a previous team in which I’m working on improving the code quality. The details aren’t terribly important, but here’s what you need to know to have enough context for this post:
- I didn’t design the application, but the client wants to keep the existing design and feature set
- The budget only allows for improvements agreed upon during the planning phase – nothing more
- The initial codebase was developed by someone else that opted to do things in a less elegant way
As far as the last point is concerned, “less elegant” could be chalked up to laziness, or it could be chalked up to ignorance.
When possible, I try to believe the best rather than assume the worst, so I’ve opted to go with the fact that the team was under a deadline to ship rather than to build an elegant solution.
That said, I think that all developers have found themselves in this position: We’ve inherited – or contributed – to some codebase, looked around, and said:
I wouldn’t have done it that way.
Often times, the implication is that our way is a better way than the way it’s currently done. In some cases, that’s right, but if developers often think this and another developer wrote said code, where does that lead?
Anyway, this is not the first time I’ve found myself in this position, and it certainly won’t be the last, but it seemed like something worth discussing if for no other reason to share my thoughts on it.