I like measuring code metrics, and I definitely support Joe's change here. I think of McCabe complexity as a proxy for testability and readability of code, both of which are IMO actual real problems in the nova codebase. If you are an experienced openstack dev you might find the code easy to move around, but large and complex functions are difficult for beginners to grok.
As an exercise, I took the method in libvirt/config.py and removed everything except the flow-control keywords (ie the things that affect the McCabe complexity): http://paste.openstack.org/show/121589/ - I would find it difficult to hold all that in my head at once. It's possible to argue that this is a false-positive, but my experience is that this tool finds code which need improvement. That said, these should be descriptive metrics rather than prescriptive targets. There are products which chart a codebase's evolution over time, such as www.sonarsource.com, which are really great for provoking thought and conversation about code quality. Now I'm interested, I'll have a look into it. Matthew _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev