- Chemo by the numbers
- Cystoscopy & Stent Removal
- Word of the day: Ouch.
- I’m done with the cancer, but the cancer isn’t done with me
Polluting the internet since 2004
March 26, 2005 | Web Design & Development
From time to time I’ve found that a project can be rather overwhelming that it is hard to find a place to start no matter what kind of planning is involved. And no matter how hard I try I cannot get it the way I want it without a lot of tweaking and often times by the time I’m done I want to rewrite everything to fix all the mistakes that I’ve made. I’m starting to think that this is a natural evolution of writing code. Well, at least for me.
It seems that no matter how hard I try I always end up with code that I completely want to rewrite or at the very least need to go back and overhaul to make cleaner so that the code is more compartmentalized, easy to read, and more efficient. It doesn’t seem like the first time around really leaves a product worth dealing with for much longer than it takes to rewrite it.
This is a pretty time consuming cycle but also no matter how hard I try it seems that this is just what I need to go through. I’m not sure if it is poor planning, relative inexperience as a programmer, or just that it is to be expected in this field. And, really, I don’t mind.
Looking back at my time as a graphic designer it seems like the logical progression of producing a product but just in a different manner than I’m used to. A typical layout begins with basic elements that get moved around, changed and sometimes thrown out. The revision process can sometimes happen a couple of times even before the client sees a sample. So that leads me to wonder why coding should be any different. Throwing out code, rewriting, combining and even starting over seems to be no different a process than what is involved with creating a visual piece. Just a bit more time consuming.
It’ll probably take a bit more getting used to both doing it and budgeting the time for it but overall it is going to end up being the best way to do things. Sometimes seeing a product in action is the best way to figure out what is wrong with it. And I don’t think I’ll have a hard time coming to grips with the fact that I don’t get it right the first time because getting it right in coding is just a little different than getting it right with a design or other piece of art.
So from now on it’ll be process of making a working prototype and then completely ripping it apart to make the final product.
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
Story of my live. Code and recode.
But there’s an important thing to remember, at least I think that there is. If you have something works, then you’re in good shape. There is always better, but that doesn’t mean you should discount what works.
And like you said, as with anything, with experience some learning and efficiency. I’m sure at some point you used to think that a bunch of little spaces were a fine alternative to tabs in page layout, but I doubt you’ve gone back to change everytime that you did that. You change it as you go, happy with knowing the new way to do it.
It’s nothing to worry about, it’s part of the process, and it leaves you with milstones to compare the amount of progress that you’ve made.
Heck, just look at anyone’s first website and you’ll see what I mean. Or at least look at mine. whoa. Actually, you can’t look at it. I won’t share it again. :p
I think that happens a lot, especially when you are the only coder of a certain project. If it is collaborated project, it’s hard to throw codes away and start from scratch. (Thus, Microsoft and others have hard time actually having decent codes.)
When I’m dealing with customers with web applications and such, I usually give them patches or provide service to patch the codes; which means I usually just give them the first coding job I did.; Later on, I add, fix or completely change stuff. Customers seem to like this since, they are feel as though they are being cared constantly. I like it too because, I don’t want to start something from scratch again just because something was a little buggy. It’s also a good practice for updating and evaluating codes and such.
Comments are closed