homepage Welcome to WebmasterWorld Guest from 184.72.82.126
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Become a Pro Member
Home / Forums Index / WebmasterWorld / Webmaster General
Forum Library, Charter, Moderators: phranque & physics

Webmaster General Forum

    
Why don't developers/programmers tidy up after themselves?
nedguy




msg:3437445
 9:49 am on Aug 31, 2007 (gmt 0)

I do 'website caretaking' for a handful of sites. IE I maintain (non-CMS) sites, keep them refreshed, tweek designs, add pages, etc for the non-techie owners.

I've just taken on another site and as I started poking around the site structure following processes to see where the data lies, I was struck yet again by how messy it is.

Do you remember the film 'Jurassic Park'? Do you remember the fat computer manager who sabotaged the park systems? Remember his desk, like a rubbish tip?

Well these sites are like that - full of redundant files and folders. You can see, forensically from file dates, where ideas/versions were tried, changed and abandoned....or part-abandoned.

You know what I'm talking about. How many websites have you created or encountered with a database that still has unused tables or queries in it?

On this last one I wasted time because I was convinced the nav panels were being created dynamically from a database table. When I couldn't get it to work I realised that structure had been abandoned and now the nav panels were static includes.

I'm not asking for developers to tidy up as they go. I know how instinctive it is to keep files as back-ups, in case things don't work out.

But I AM calling for spring-cleaning.

Periodically programmers/developers really need to revisit their operational sites (ie. those not 'in development') and clear out everything that is not functional.... for their own sakes, for those who might follow in their footsteps, and simply because it is
professional 'good practice', like adding comments to your programs.

 

Marshall




msg:3437448
 9:58 am on Aug 31, 2007 (gmt 0)

It is not always the developer's fault. I build sites and am very neat about files, etc., but often my customer will do their own updates and such. They will contact me periodically and ask me to do some "spring cleaning" only for me to find endless and uselss coding, files, multiple copies of the same image, and so on. I also see this on sites where the "webmaster" changes more frequently than the weather, usually with non-profits and such who use whomever is handy, no experience required. Then, of course, each new "webmaster" has his or her ideas on how things should be done. And the cycle repeats. Hey, keeps me in business :)

Marshall

johnblack




msg:3437457
 10:09 am on Aug 31, 2007 (gmt 0)

I'm a contract programmer and charge by the hour.

My clients don't really don't like to spend money for me to 'tidy-up' my code, they just want a site or application that 'does the job'.

I'm not saying it shouldn't be done, just that there are many reasons for untidy code, not just laziness on the coders behalf.

nomis5




msg:3437588
 12:42 pm on Aug 31, 2007 (gmt 0)

I've done programming and analysis in commercial environments and agree, it'a matter of convincing the boss that spring cleaning is cost-effective. You can bet your bottom dollar that if the boss says yes, there is a distinct lack of work around and your job is probably at risk.

Also a lot of the mess is caused by the client. They say I want this and I want that. You go away and design it really well. They see it and say, just a little change here and another there and before you know it the basic structure of the program and data you designed is spaghetti code. The changes have wasted time, implemenetation is looming up and hey presto the only option is to implement the spaghetti code.

justgowithit




msg:3437744
 3:23 pm on Aug 31, 2007 (gmt 0)

Periodically programmers/developers really need to revisit their operational sites (ie. those not 'in development')

My problem is that development never stops and projects are already a day late even before they begin.

Laziness has nothing to do with it - it's the fact that I've yet to figure out how to get 27-hours out of a 24-hour day.

I also work for myself. My code is like my room was in high school. To anyone else it looks like a mess, but I know where everything is and what everything does.

Heaven help me the day I need to bring in another programmer to assist.

Wlauzon




msg:3437795
 4:02 pm on Aug 31, 2007 (gmt 0)

Heaven help me the day I need to bring in another programmer to assist.

Or you have to go back in two months and fix your code.

Gibble




msg:3437833
 4:38 pm on Aug 31, 2007 (gmt 0)

There's a method to our madness. Maybe we didn't use that bit of code, but don't want to lose it in case things change back...which happens frequently. Users tend to not know what they want, and flip flop on ideas. Though, ideally, the prod version should be clean, with a "backup" directory for all the unused bits of code. DB Tables/Procs should be prefixed with "zzz_" or something to separate them from the used tables, etc...

There's a myriad of reasons...and if you've taken over someone else's code, sometimes that file that "appears" not to be used by the app, is used by something else.

But yes, overly messy code bothers me too, I'm finding code in this app I'm working on, which, instead of simply being commented out, one of the previous programmers (who didn't comment well if at all) used things like

if false then
block of code here
end

...uh...comment it out if you don't want it to run, jebus! And my personal favourite, which I stumbled across yesterday.

for (z = 1; z <= 6; z++) {
switch case(z)
case 1:
case 2:
...
case 6:
}
}

#*$! was the point of that?!?!?! A loop and switch that are completely unnecessary!

/end rant

In summation, I agree, and disagree with you. I don't think any code should be deleted, but it shouldn't be mixed with code that's used.

jtara




msg:3437895
 5:20 pm on Aug 31, 2007 (gmt 0)

The problem is more often with managers than with programmers.

Most don't appreciate the need for "tidying up" code, and if a programmer admits to same, they are going to be reprimanded and told to do some "real work".

Unfortunately - like writing - good programming requires relentless editing.

pageoneresults




msg:3437907
 5:29 pm on Aug 31, 2007 (gmt 0)

Why don't developers/programmers tidy up after themselves?

Hehehe, that's a loaded question! Why doesn't my neighbor keep her garden as nice as mine? ;)

Most programmers should come with a maid. Some of the stuff I get at times makes me wonder what their car looks like or the inside of their house. You can tell a lot about a person by their own personal surroundings. If their car is a mess, the delivered code is probably going to be a mess too. ;)

Layering of code by a multitude of programming talent is an absolute nightmare trying to reverse engineer to see what can be purged.

It's Spring every day around here. We don't wait for the weather to change before cleaning up. :)

CWebguy




msg:3438113
 8:17 pm on Aug 31, 2007 (gmt 0)

Maybe we feel that we are wasting precious time that could be put toward something else?

jessejump




msg:3438247
 11:02 pm on Aug 31, 2007 (gmt 0)

It's their sites and they can maintain them the way they want to.

rocknbil




msg:3438797
 6:59 pm on Sep 1, 2007 (gmt 0)

Why don't developers/programmers tidy up after themselves?

As voiced many times in this thread - quite often a client will say "let's try this deal here for a while, but keep the old stuff just in case . . . " and that time period fades long into memory. I actually got a virtual butt kicking for cleaning up a mess, the customer came back after a year looking for some insignificant non-live "test file." Of course I had backups . . . . I currently have databases with 100K+ records that the customer just won't let go of when I ask.

But here's the bottom line. It doesn't matter what you do, someday some wise-a$$ know it all is going to come along and find something wrong with what you do, how you do it, not bother to understand the logic, see your complex organization as a chaotic tangled mass of insanity, and just make you out to be an idiot. When it gets down to a battle of the egos, he/she with the login information is always the smartest programmer standing. :-)

Steerpike




msg:3439692
 4:26 am on Sep 3, 2007 (gmt 0)


Any programmer that doesn't refactor things up both throughout development and after going live is an amateur and/or working for amateurs and should be avoided at all costs.

Not cleaning gives a false sense of speed. You're going to lose any time you gained by doing things hurriedly when you have to go back to the project a week or a month or a year from now.

vincevincevince




msg:3439698
 4:42 am on Sep 3, 2007 (gmt 0)

I have taken another approach... I try to make everything configurable. If the user wants to change to static menus, I add a configuration setting and leave the dynamic menus in place, just disabled. Now, instead of changing one thing into another, you've made a configurable/customisable system and effectively given the client both.

Some time ago I made a serious mistake though... I did some debugging by sending data to a file from a busy site and left it there accidentally. Soon filled up and almost took the server down.

Drag_Racer




msg:3439728
 6:17 am on Sep 3, 2007 (gmt 0)

Two new clients I just picked up fall right into this category, what a mess both sites are in. I am glad they are complete redesigns, as fixing the mess that is there would take twice as much time. Both are running on asp backends, both have had multiple developers previously, both have had countless redesigns. Its funny, they both are using asp, php, and perl. Whay can't they just stick with one? They look like trash bins that never get emptied.

At least I got one of them to switch to a *nix machine, makes life so much easier.

They both have a great business and people running them, but they have no idea of the technology or other aspects of web sites. As with any employer, you have to go through a few not so qualified people before you find one that can do the job the right way. I think this is the main reason for all the clutter and unorganization, one person has one way of doing things, another has their ideas.

How about the client that just asked me to find a good stats program for their traffic analysis. I gave them a few options and recommendations and we settled on awstats, then I found it running on their machine already.

How about the client that asked me for a template, I built it and put it on their machine for them to view. It was a static html page with a css file. Yhen their first question was to make sure I wrote it in the php language.

--------------

So, to answer you question as to why sites are such a mess, ignorance and lazyness.

Habtom




msg:3439735
 6:32 am on Sep 3, 2007 (gmt 0)

Not cleaning gives a false sense of speed. You're going to lose any time you gained by doing things hurriedly when you have to go back to the project a week or a month or a year from now.

Most of the time programmers don't just deliver a messed up project from the very begining, modifications create messed up sites.

vincevincevince




msg:3439736
 6:36 am on Sep 3, 2007 (gmt 0)

Most of the time programmers don't just deliver a messed up project from the very begining, modifications create messed up sites.

Most programmers plan their projects well. Everything has a logical structure and great database to back it up. Then clients happen.

It sometimes gets to the point for me that I tell the client that if he requires whichever new modification he is asking for then I'm going to rebuild from scratch, which I both do and charge for.

As I see it, such things are unavoidable unless you only work with clients who know what they want, can tell you what they want and then trust you to deliver it.

Essex_boy




msg:3439847
 9:47 am on Sep 3, 2007 (gmt 0)

Im doing a similar thing for an intranet at a UK Gov't office, site is a real mess.

They have about 5 people running the site all to their own game plans.

Wlauzon




msg:3439921
 12:21 pm on Sep 3, 2007 (gmt 0)

Maybe we feel that we are wasting precious time that could be put toward something else?

What you really mean is that you are saving time, but the poor guy that comes along six months from now and has to fix it will take 5x as long. But then, maybe his time is not "precious".

Marshall




msg:3439946
 1:05 pm on Sep 3, 2007 (gmt 0)

They have about 5 people running the site all to their own game plans.

Sounds like poor planning and/or leadership.

Marshall

Habtom




msg:3439948
 1:09 pm on Sep 3, 2007 (gmt 0)

They have about 5 people running the site all to their own game plans.

Sounds like poor planning and/or leadership.

Without any doubt, part of the time they are spending at the office is counterproductive. Who knows:

> how many useful files are over-written
> completely different approaches implemented to similar problems
> Achieving different goals (not knowing the goals as a team)
> Part of a project left unfinished when one of them depends on the other

The best thing in a group work is communication and/or good leadership.

Don't you agree?

[edited by: Habtom at 1:17 pm (utc) on Sep. 3, 2007]

Monkey




msg:3441400
 11:26 pm on Sep 4, 2007 (gmt 0)

Interesting - tidy up code. Gee if programmers did that I might find myself out of troubleshooting work 'cause no one else in the company can figure out what belongs where!

D_Blackwell




msg:3441506
 1:45 am on Sep 5, 2007 (gmt 0)

Then clients happen.

As has been alluded to again and again in this thread a lot of people may have the ability to stick their finger in the pie. This week's 'plan' may have not be anything like next month's plan. Budgeting factors, i.e., if it works it must be running perfectly fine. (No need for oil changes, tune-ups, maintenance.....) If a client 'takes it from here', there's a good chance for nice payday when they break it.

Global Options:
 top home search open messages active posts  
 

Home / Forums Index / WebmasterWorld / Webmaster General
rss feed

All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
© Webmaster World 1996-2014 all rights reserved