Cyclomatic Complexity (СС) - это показатель сложности кода, который рассчитывается на основании графа, построенного по точкам принятия решений, опредеяющим разные пути исполнения кода. Формула для рассчёта СС: CC = E - N + 2*P, где:
E — количество рёбер,
N — количество узлов,
P — количество предикативных узлов (то есть узлов, содержащих условие). Точками принятия решений могут быть операторы if, when (в Kotlin), switch (в Java) и циклы. Чем их больше в одной функции и, чем больше их вложенноть, тем с больше и запутаннее у нас получится граф возможных путей исполнения кода этой функции. Рекумендуется рассчитывать цикломатическую сложность кода автоматически: с помощью линтеров. Можно попробовать и вручную. Я честно пытался это сделать по методикам, приведённым в википедии: https://ru.wikipedia.org/wiki/Цикломатическая_сложность, но ни по одной из методик результаты моих ручных рассчётов не совпали с результатами линтера. С помощью показателя цикломатической сложности кода определяют