Некоторые методы оценки цикломатической сложности программного кода:
- Формула M = E - N + 2P. marche1os.github.io В ней М — цикломатическая сложность, Е — количество рёбер в графе потока управления (то есть количество переходов между операторами кода), N — количество узлов в графе потока управления (то есть количество операторов кода), P — количество компонент связности (полностью независимых частей кода, например, отдельные подпрограммы). marche1os.github.io
- Упрощённый подход для автоматизированного вычисления. web.archive.org В этом случае построение графа не осуществляется, а показатель вычисляется на основании подсчёта числа операторов управляющей логики (if, switch и т. д.) и возможного количества путей исполнения программы. web.archive.org
- Модификации показателя цикломатической сложности: web.archive.org
- «Модифицированная» цикломатическая сложность — рассматривает не каждое ветвление оператора множественного выбора (switch), а весь оператор как единое целое. web.archive.org
- «Строгая» цикломатическая сложность — включает логические операторы. web.archive.org
- «Упрощённое» вычисление цикломатической сложности — предусматривает вычисление не на основе графа, а на основе подсчёта управляющих операторов. web.archive.org
Для автоматического вычисления цикломатической сложности можно использовать, например, такие инструменты: OCLint — статический анализатор кода для Си-подобных языков, Reflector — для .NET, GMetrix — для Java. testengineer.ru