On The Insider: Britney's Bikini-Clad Top 10
BNET Business Network:
BNET
TechRepublic
ZDNet
TalkBack 1 of 37:
Next »
Lest you be Judged
[how would you judge the resulting programs to determine a winner if this were a programming contest?]

A course I took as part of my Master's degree was called Software Quality and attempted to do just that - judging code. It's main tenet was the Coupling/Cohesion (and sometimes Factoring) Criterion. Basically, good code has a low-degree of coupling and a high degree of cohesion. A procedure that requires 20 parameters has a high degree of coupling - and is bad code. A procedure that does 20 different things is a low degree of cohesion - and is bad code.

This is enforced modularity - where modules do one thing, and are called with few parameters. That's good code! And you DID notice that I didn't mention specific programming languages, right?

There are a million subjective criteria for judging code quality - clear and prevalent comments, descriptive variable and function names, etc. There are also other ways to derive metrics from code - "function points" comes to mind here. But nothing that I have seen matches the elegance of the Coupling/Cohesion Criterion . . .
Posted by: Roger Ramjet   Posted on: 09/25/06 You are currently: a Guest | Members login | Terms of Use

Alert moderator to an offensive message

Subscribe to this discussion via Email or RSS

Lest you be Judged  Roger Ramjet | 09/25/06
Coupling/Cohesion  Erik Engbrecht | 09/25/06
Reasonable formatting  Roger Ramjet | 09/25/06
Questions  Erik Engbrecht | 09/25/06
I'm sure you will  murph_z ZDNet Moderator | 09/25/06
Then you're measuring development, not just programming  Erik Engbrecht | 09/25/06
Yes, sort of ..  murph_z ZDNet Moderator | 09/25/06
Psychology of Programmers?  Erik Engbrecht | 09/25/06
A good read  bportlock | 09/25/06
OT: Random observation  Erik Engbrecht | 09/25/06
The crosstab  jorwell | 09/25/06
Not really...  Erik Engbrecht | 09/25/06
The number of tables is irrelevant  jorwell | 09/25/06
Misunderstandings  Erik Engbrecht | 09/25/06
The nightmare scenario  jorwell | 09/25/06
Nightmare scenario  murph_z ZDNet Moderator | 09/25/06
Rating the Questions  Erik Engbrecht | 09/25/06
Knowing PG  jorwell | 09/25/06
Except...  Erik Engbrecht | 09/25/06
Still isn't relational  jorwell | 09/25/06
Are you sure...  Anton Philidor | 09/25/06
Good point  Erik Engbrecht | 09/25/06
"Yes it runs, but is it art?"  Anton Philidor | 09/25/06
Oh hell yes...  ju1ce | 09/25/06
Reverse  Erik Engbrecht | 09/25/06
The Dilbert team?  bportlock | 09/25/06
Good description of Scylla.  Anton Philidor | 09/25/06
Is the wibble more jorky than the wobble?  bportlock | 09/25/06
Bug reduction  Ross44 | 09/25/06
It is a bit of a bummer ....  bportlock | 09/25/06
Leave us alone  Richard Flude | 09/25/06
Good points  Erik Engbrecht | 09/25/06
I think you'll find  murph_z ZDNet Moderator | 09/25/06
Detecting invalid states  Erik Engbrecht | 09/26/06
Declarative preferred  jorwell | 09/26/06
Which language?  Erik Engbrecht | 09/26/06
Possible in SQL but...  jorwell | 09/26/06

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

advertisement
advertisement

Enterprise Applications

  • Check out some of the easiest and most powerful ways to boost productivity while saving money on your application infrastructure. See ZDNet's comprehensive Enterprise Application resource center, now!
  • New Online Dashboard
  • Read about top issues IT decision-makers face every day, plus get cost effective solutions to real life IT problems. Oracle Topline