Количество строк кода
LOC ( Lines of Code), или Количество строк, является самой грубой мерой сложности. Это спорный вопрос , есть ли прямая связь между количеством строк кода и сложностью приложения, но косвенная корреляция очевидна. В конце концов, программа с 5 строками, вероятно, проще, чем программа с 5 миллионами.
Цикломатическая сложность или Cyclomatic Complexity
Цикломатической сложность вычисляется легко, путем суммирования всех узлов таких как if, while, for и др. внутри и добавляя 1.
Или по формуле
M = E − N + 2P,
где:
M = цикломатическая сложность,
E = количество рёбер,
N = количество узлов,
P = количество компонент связности.
Узлами графа являются условные операторы
- if statement
- while statement
- for statement
- case statement
- catch statement
- && and || boolean operations
- ?: ternary operator and ?: Elvis operator.
- ?. null-check
Чем больше операторов в функции (коде), тем выше Цикломатическая сложность.
Т.е. высокие числа плохие и низкие числа хороши. Цикломатическую оценку сложности кода можно использовать, чтобы получить представление о том, насколько трудно ваш код тестировать, поддерживать и устранять неполадки. А также для определения вероятности возникновения ошибок. На высоком уровне мы определяем значение цикломатической сложности, подсчитывая количество решений, принятых в исходном коде.
Когнитивная сложность
Метрика визуальной оценки (восприятия) сложности кода. Пример: