Re: Linux novice question.
>>"Interesting you should say that. This suggests you are looking at design patterns rather than coding errors."
Actually, though I've never put it in those terms, the older I get the more that is my first approach to reviewing code. Reviewing other people's work is one of the things I do professionally these days (I consider myself very lucky, btw) and I do start with this if I'm beginning at a high enough level and it's not just "is this okay to push live?"
I would be very, very interested in any automated tools or approach to testing design patterns. I suspect like many problems, once we can formally define it, automating it will be straight-forward. And that would be a very big deal. (I got modded down furiously the other day, btw, for suggesting that within my lifetime computers would one day be better programmers than humans).