Wednesday, August 11, 2004

Coding Horror Stories

If you want to hear and share some of your coding horror stories, now is that time. Both for humor and the sad realization of what it really takes to develop quality applications.

In a way this is very funny for me, because my technical personality sort of emulates my personality I developed in working in Fast Food. I was the Prep God, make sure everything is setup correctly, and perfectly, for the afternoon/evening shifts.

And here I am, Mr. Clean, always having to clean up after other people's work.

It's because of spending most of my coding career cleaning up, that I have gradually become a stickler for standards.

I remember one of my job hunting jigs, at this downtown saint paul firm, seemed a bit raw or at the edge, but there are all types of people/personalities/companies in this niche.

Anywho, then they started to show me some of their code.

  • No Indenting
  • No Comments
  • No Logical Structure
  • No clue what the code did, or what steps it took to get there

At that time, I was still somewhat of a beginner, and I wasn't sure how to address their lack of quality. After all, I wanted a job, but I didn't want to work for idiots.

One of my jobs was a nightmare in terms of communication. At the time I was at a web shoppe, who had a legal firm as a client.

Legal firms are very tough, this one was particularly indecisive.

They wanted us to create a multiple-approval layer of content approval. It sounds professional, but in reality, it made them sound very indecisive, and just added unnecessary complexity to the content management application.

It also made them show that they had serious trust issues with their own personnel. But that's legal firms.

Another time, I was working on a severely modified version of AbleCommerce, which is sounds like a really good starting point for an Ecommerce Application. But most pre-built applications, usually end up to be badly written, badly documented, badly coded applications.

They did their job, but made it very difficult to fix or improve upon them.

Especially since the company that modified it, was using coding standards picked up from ColdFusion 2 coding.

So you can imagine all the extra pound signs, that still ring in as a nightmare in my mind.

What kind of horror stories do you have? What kind of coding mistakes piss you off, or just plain drive you insane, please share your stories...

2 comments:

  1. Anonymous1:33 PM

    I had posted some of my pain about digging into someone else's coding here:

    http://www.visible-form.com/blog/000048.html


    I have worked on many projects that sound like exactly what you described, including one i had to just plain throw in the towel.

    ReplyDelete
  2. Anonymous11:48 PM

    oh look! a "what cheeses me off" segment! All we need now is Red Symonds and his gong! (aussie joke)

    where do I start? how about the database design of the current project I'm working on? Because I used to teach db design it especially hurts...

    PKey:
    11,12,13, etc relates to
    FKeys:
    table 1: SUD11_DESC, SUD12_DESC, SUD13_DESC, etc
    table 2: PUD11_DESC, PUD12_DESC, PUD13_DESC, etc
    table 3: DUD11_DESC, DUD12_DESC, DUD13_DESC, etc

    ie: the join is on a string manip of field names

    or...

    five tables with exactly the same job and structure, only the field names are different

    or...

    PKey: OCC_CODE
    FKeys: f_occ or m_occ (both within the same table, depending)

    or...

    a comment/notes field with a 60 char length for the text. If more length is required, store the first 60 chars there and, if it's a long note, another table, split over multiple rows, each having the text field *still* at 60 chars
    ...else if it's a short note, store in yet another table

    or...

    uniqueness within a table using composite keys - sometimes up to four: company + entityCode + date + line number (which is a manufactured integer, not autonumber)

    or...

    not one bit of DRI (referential integrity/constraints) within the db - it's all done within the app. You could happily create and delete orphaned records anywhere...

    boy, am I glad this post is anonymous!

    cheers

    ReplyDelete