When Is It Okay for a Complete Code Rewrite?

Is it ever okay to totally throw away some code and start from scratch? I think so. But it makes me feel guilty. Specifically, I’m talking about one project, Write.app. I’m very close to being finished with this project but after months of hard work and learning so many new things, I just can’t stand looking at the code anymore. I can’t stand it.

The trouble isn’t the actual backend code. Its the design. My back end code can easily be refactored and made better. Unfortunately I feel like my front end code is a tangled mess of spaghetti dependencies and jQuery selector hell. Plus, I hate the design I came up with. I’m trying to build a beautiful app but the more beautiful I try to make it the uglier it seems to become.

I’m close to giving up on the whole project. Unfortunately, a big goal of mine was to complete this project and release it. I still will but it’ll be far behind schedule.

They say that you should build quickly, push your code, and iterate. I did none of those things. I built slowly, kept the project private, and I’m still on my first version.

To my credit, I am working with Codeigniter, a framework I’ve never used before. In fact I’ve never used a framework for developing apps. This was my first MVC experience as well. I know so much more now than when I started and I still have a long way to go.

This project feels like a complete failure to me and I just can’t bring myself to call it a day and release it or do something with it.

Maybe the best idea is to let it be ugly and just iterate. Forget huge sweeping changes all at once. Just finish the sucker and iterate. Make it more beautiful. I really don’t know what the solution is but in the meantime I’ve got all these other, smaller project ideas floating around my head. Maybe that’s a sign that this should have been done by now and that now I’m forcing it. Maybe I should look into moving on to something else. But I made a committment to finishing and releasing this one project. It was my goal to see this all the way through. So I will. Maybe the problem is that my expectations of what it will be are so high that it makes me afraid to finish.

Whatever the case may be, I have to say I’m pretty burned out on looking at anymore code. I’ve got plenty of inspiration and the thought of a finished project gets me excited but recently actually writing the code has become a struggle.

Web development

« Pure CSS Buttons (with LESS) Don't Give a Damn »