Friday, February 12, 2010

Code Quality

I am taking a little poll: What does 'Code Quality' mean to you?

Joel equates quality software/code to being useful to the purchaser (in this post)

Quality to me means a variety of things to differing degrees including:
  • Unit tested
  • Functionally Tested
  • Maintainable
  • Supportable

If we are going to talk about web based software I might also add

  • Scalable
  • Having the needed capacity
  • Being highly available

Obviously if the software isn't useful - no one will buy it, but I think encapsulating the entire argument of 'Quality' into that simple of an equation to decide if in your startup it is the right time to hire sales and marketing, while possibly being right... is a tad short sited. So what is quality to you?

1 comment:

Michael Chermside said...

For me, "Code Quality" is different from the overall quality of the software product. I believe it would be reasonable to say of some product "It's a nice product, but I've seen the code and the code quality is terrible." or vice versa: "The project has great code quality, but they build all the wrong features so I never use the product!"

So speaking only to code quality, when I think of high quality code it exhibits the following properties:

* Brevity
* Clarity (Readability)
* Orthogonality
* Robustness (handles errors and corner cases well)
* Cleverness

And I would certainly value some of the items you bring up:

* Good test coverage
* Scalable