I’m getting very tempted to rewrite an application that I’ve been working on for about three months now. All sorts of reasoning to do so have tugging at me, but what actually prompted this temptation is a side project I’m working on with @iheartcinnamon (kat). It made me realize how hard it actually would be to move the application forward.
The core of the application, while works flawlessly, is implemented rather poorly. The code is horribly organized, methods were created on a case-by-case basis which has lead to duplication throughout, business logic is confusing at best, the XHTML templating system is a complete mess, and, well, I could go on for awhile.
My side project has reaped the benefits of this, it’s core is implemented with clarity, ready to be extended anywhere. Since the two projects have similar core needs, writing it came as second nature; I already knew what it needed to be and how I to get it there. But does this warrant a complete code rewrite?
Three months is not a long time, per say, but extending the development time would cut deeply into its launch date. What to do? How do I satisfy my itch of rewriting it, bring clarity to the code so it can be extended with ease and make sure I launch fast and often?
Before I do anything, I’m off to do some research into the implications of rewrites and I will return to this topic in another post.