Что такое когнитивная сложность кода

Python Senior Без компании
Что такое когнитивная сложность кода
Ответы
Когнитивная сложность — это метрика, оценивающая, насколько сложно понять и поддерживать код. В отличие от цикломатической сложности (которая считает ветвления), она учитывает вложенность, логические операторы, прерывания потока (break/continue) и другие факторы, усложняющие восприятие. **Пример:** ``` # Высокая когнитивная сложность def process_data(data): result = [] for item in data: if item.is_valid(): for subitem in item.values: if subitem > 0: result.append(subitem * 2) else: continue else: result.append(None) return result ``` **Как снизить:** - Уменьшать вложенность (early returns, guard clauses). - Разбивать на мелкие функции. - Использовать comprehensions или встроенные функции. **Инструменты:** - `radon cc` (Python) или плагины для IDE (SonarQube, PyCharm).