Our customers have begun to impose cyclomatic complexity requirements on the software within our products, and our internal process "improvement" group has decided to make cyclomatic complexity part of our coding standards. Both the customer and our internal group have set their (recommendation for an) upper limit at 10. I've argued that if 10 is the recommendation/guideline, then developers will write code that hits 15 or 20. In my opinion, the limit should be set at 5 with the allowance for functions to exceed that when necessary (as determined by review or some other process).
So, my question is, what do other people do? What kind of complexity limits are you willing to to tolerate (high or low)? What do you strive for when you write code?
Update: I'm talking about complexity at the function level.
One of the responses says, "without sharing all the details the best you are going to get here is an arbitrary limit." I would go a step further and say that arbitrary limits is essentially what we're talking about. In the interest of furthering the conversation, though, what specifics would alter the answer? What, in general, would cause these limits to be increased or decreased?