Been there. Did not get the t-shirt, but I did perform a [large empirical study][1] on McCabe's. It turns out that once you account for hetero-scedasticity it gives almost no more information than lines of code. Whether that reflects more on McCabe's or the average programming style, I (still) leave as an exercise to the reader.<p>[1]: <a href="http://www.scirp.org/journal/PaperInformation.aspx?PaperID=779" rel="nofollow">http://www.scirp.org/journal/PaperInformation.aspx?PaperID=7...</a> "Cyclomatic Complexity and Lines of Code: Empirical Evidence of a Stable Linear Relationship"
CC by itself isn't all that useful but C.R.A.P index can come in pretty handing for identifying under tested code even if the occasional, and usually unnecessary, switch statement needs to be ignored.
Good examples. The tools should come 2nd to humans wherever it makes sense. I push strong static analysis tools like Astree & SPARK because they find things that are hard for humans. Complexity metrics, if well-designed, might find trouble spots in the code. However, I agree with author that this sort of thing is hard enough for a computer to understand that anyone using that should let human mind decide if a change makes sense for comprehension.<p>Preferably, several of them that are more likely to disagree. ;)