Синтаксическая сложность (Cyclomatic Complexity) — метрика в разработке программного обеспечения, измеряющая количество линейно независимых путей выполнения в исходном коде функции, модуля или программы.
Она рассчитывается на основе графа потока управления кода. Каждый условный переход, цикл или другая точка ветвления увеличивают сложность.
Формула расчета: V(G) = E - N + 2P, где E — количество ребер в графе потока управления, N — количество узлов, P — количество компонентов связности (для функции обычно 1).
Влияние на процесс разработки:
Пример простого кода с низкой сложностью:
javascript
Пример более сложного кода:
javascript
Рекомендуется стремиться к низкой синтаксической сложности (обычно < 10-15) для улучшения качества кода. Инструменты статического анализа кода (например, ESLint с соответствующими плагинами) могут помочь в измерении и контроле этой метрики.