Ayende @ Rahien

Refunds available at head office

Code quality is meaningless

This is part of a presentation that I am preparing:

image

What do you think about that?

Comments

Joe
08/23/2008 09:00 AM by
Joe

It's hard to form an opinion without putting that slide into context. It could mean:

a) Represents the general feel of many managers, developers

b) Represents you not being interested in code quality.

Also, Code Quality is a broad term and can mean numerous things. I can say that my code quality is based on a series of numerous design principles, whereas someone else can consider quality as a means of a number of bugs irrelevant of the design. Then you have MS's view of code quality...

Patrick Smacchia
08/23/2008 09:06 AM by
Patrick Smacchia

I agree with Joe, this sounds like marketing slide with a buzzword to attract attention.

What is code quality? Rationalized dependencies and sustained good design? Low method and class complexity? Good code coverage by tests? Limited side-effect? I don't think that any of this is meaningless.

Lucas Goodwin
08/23/2008 01:06 PM by
Lucas Goodwin

@Oren,

You're in a real "stir the sh*t" mood lately ;)

Without context, all I can say is its a well designed slide.

Lucas Goodwin
08/23/2008 01:08 PM by
Lucas Goodwin

Bah, forgot to say I suppose that's the point. Code Quality is a meaningless term on its own.

Steve Smith
08/23/2008 01:41 PM by
Steve Smith

I agree with Lucas, I think Ayende is impersonating a UseNet troll on his blog lately to stir up interesting discussion. :) That said, I'm sure there's some context coming to justify the position, like "the customer never sees the code so they don't care about its 'quality' only whether it solves the task they want the software to solve'.

Andrew
08/23/2008 02:04 PM by
Andrew

I would reverse it:

Code Quality: NOT INTERESTING

LukeB
08/23/2008 02:45 PM by
LukeB

I see where you're going with this. Code quality (what does that even mean?) is invisible to everyone but developers anyway - what matters is turning that code into something that generates revenue.

Bruno
08/23/2008 03:24 PM by
Bruno

It´s often hard to sell Code quality, may be some numbers could help us to open manager´s eyes...

Sidar Ok
08/23/2008 03:26 PM by
Sidar Ok

I'd say its meaning is overloaded rather than it being meaningless.

Neil
08/23/2008 03:43 PM by
Neil

Ironic that a post which has as its' only statement that something is uninteresting should be so, interesting.

Now please put the world out of its' misery and explain yourself :)

orcmid
08/23/2008 04:08 PM by
orcmid

Well, I'll bite. I'm inclined to agree with Lucas that as a context-free property, there is no there there. At the same time, there is something useful in the notion of code quality. Maybe that could be attached to other ilities instead?

One challenge I see is separation from efficiency, which has its own demons, and understandability.

Hmm, there are trade-offs here. No way to make trade-offs without context. I wonder how one would attach "code quality" matters to risk management for a software project that addresses the full software lifecycle. Or is that a pipe dream too?

Joao Braganca
08/24/2008 05:05 AM by
Joao Braganca

Hey, just cause it isn't interesting or exciting doesn't mean it ain't important.

meowth
08/24/2008 10:26 AM by
meowth

I know one practical code quality (CQ) metric - WTFs per minute at the time of code review =) Other are really not so interested. But, why MS included tools to calculate this parameter? Also, why is FxCop for?

Second, your slide has web2.0 style (bottom mirroring) - so does this statement about CQ mostly refers to web2.0 projects?

Igor Damiani
08/27/2008 02:07 PM by
Igor Damiani

do you need to create a mission-critical software to put in production in ten minutes?

ok, you don't need high code quality.

:-)

Comments have been closed on this topic.