Рубокопская цикломатическая сложность кода верхнего уровня

Есть ли причина, по которой rubocop исключает код верхнего уровня при оценке цикломатической сложности? Он возвращает сложность только для независимых от кода путей через метод. Есть ли способ включить в этот анализ код верхнего уровня?


person user8710949    schedule 10.03.2021    source источник


Ответы (1)


В большинстве показателей сложности в качестве области действия используется def.

Предполагается, что код верхнего уровня предназначен для запуска только при загрузке приложения/библиотеки и что весь фактический код находится в пределах определений методов.

Файл, выполняющий 30 require_relative, приведет к снижению большинства показателей, но это не считается проблемой.

В качестве первого улучшения рассмотрите возможность перемещения фактического кода, который вы выполняете, в метод и вызывайте его напрямую с верхнего уровня.

person Marc-André Lafortune    schedule 10.03.2021