HomeBlogLearnProductsEventsServicesAbout UsFAQ
Mike Yeager's Blog

Monday, February 18, 2008
The myth of "good code"

How often have you inherited someone else's production code and thought, "Wow, these guys were good"? So far, I'm batting very close to 0 on that one. I don't think this is an uncommon situation either. From this, I can conclude:

  1. I am REALLY GOOD - much better than almost everyone else
  2. Most of the production code in teh world isn't really that good
  3. We all judge code quality on different criteria

I'm pretty certain it's mainly due to #1 <S>.  "I could be wrong now... But I don't think so..." OK, it probably is a combination of all 3.

What strikes me is that from what most of us have seen, the vast majority of production code (excluding the code we've written ourseles and may be biased about) is not of a very high quality. How can this be? Does the world really run on bad code? In a word, yes. The fact that it works is beside the point in this discussion, but I don't think it could be argued otherwise. The majority of production code in the world is not of a very high quality.

Here are a few reasons why:

  • Time pressures force us to cut corners
  • Time pressures prevent us from refactoring
  • Coding is HARD - just plain HARD, people who are really good at it are rare
  • There is always something I haven't learned yet
  • The tools are always changing
  • The definition of good is always changing

I try to look at it from the perspective that, "it wasn't possible to write high enough quality code in the past because the tools and methodologies had not evolved far enough to allow it", but I just can't make the argument. Even with TDD and XP and all of the other acronymns, I still have yet to inherit production code and think, "Wow, these guys were good". Even though my mind is telling me that all of the advances must be making our code better, it really doesn't translate into reality. The crap I see today is no better than the crap I saw ten years ago - it's just different crap. There are a great many programmers who can write code that works, but few who write really high quality code. In part, I know that it's just too expensive. Business runs on things that work, and it won't pay for things that are beautiful. It's not even a matter of being short-sighted. At this point in time, thinking that the majority of the architects, developers, testers and other professionals will get to the levels we imagine them at isn't reality.

What I see happening is that the advances are coming in the things that we CAN do with the tools. That in turn, makes the systems we develop more complex and the learning curve even higher. It's not that we're not getting better, it's just that every time we move up the curve, the curve gets bigger. The majority og software professionals are no higher up the curve than we've ever been. The world runs on software that works, and that software is no closer to perfect than it's ever been.

What do you think? Please be ready to back up your rebuttals with, "I inherit a LOT of really good production code these days". I'd love to be wrong on this one... But I don't think so...


Posted @ 12:11 PM by Yeager, Mike E. (myeager@eps-software.com) - Comments (982)

Blog List
VFPConversion Blog
Markus Egger's Blog
Ken Levy's Blog
Claudio Lassala's Blog
Blog Archive
March, 2008 (1)
February, 2008 (1)
October, 2007 (1)
September, 2007 (2)
July, 2007 (1)
May, 2007 (3)
March, 2007 (3)
January, 2007 (2)
December, 2006 (1)
October, 2006 (2)
September, 2006 (2)
August, 2006 (6)
July, 2006 (3)
June, 2006 (2)
May, 2006 (4)