Saturday, February 7, 2009

Joel Vs. Kent Smackdown!

I've been listening to the Stackoverflow podcast for a while now and reading JoelOnSoftware for much longer than that. Joel recently started somewhat of a fight by laying the smackdown on SOLID design principles and 100% unit test code coverage.

Kent Beck was not fond of Joel's (self-admitted) generalization of SOLID principles. You can't really blame Kent, since Joel basically just dismissed Kent's whole deal. 

Joel said that the client-specific interfaces principle was probable designed and practiced by people who don't write much code. Kent did not go into details about why he disagreed, simply lamenting that Joel doesn't understand his own responsibility as a popular personality. 

Now, we could debate the merits of this until our ears turn blue*, but that's not what I have to add here. For people who are supposed to be leaders in their fields, they're not really thinking about things. Joel's most obviously talking about FogCreek-style software; shrinkwrap software that other software does not interface with. You know, where there is no client to have an interface with**? 

All I'm saying is that we need to use our brains before we talk. That's all.

*I happen to come down on the side of Joel on this one, except for public APIs (which Joel acknowledges as an exception as well. 

**Except the human client, but that's a whole other can of worms.

No comments:

All rights reserved. Take that!