Встречается на собеседованиях • сегодня

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

Когнитивная сложность — это метрика, оценивающая, насколько сложно понять и поддерживать код. В отличие от цикломатической сложности (которая считает ветвления), она учитывает вложенность, логические операторы, прерывания потока (break/continue) и другие факторы, усложняющие восприятие.

Пример:

python
# Высокая когнитивная сложность
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).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы