Перейти к содержанию

Ограничение на размер метода (MethodSize)

Тип Поддерживаются
языки
Важность Включена
по умолчанию
Время на
исправление (мин)
Теги
Дефект кода BSL
OS
Важный Да 30 badpractice

Параметры

Имя Тип Описание Значение
по умолчанию
maxMethodSize Целое Максимальная длина метода в строках 200

Описание диагностики

Существуют громоздкие методы (процедуры и функции), с которыми невозможно эффективно работать именно из-за их огромного размера.
Большой метод зачастую возникает, когда разработчик добавляет в метод новый функционал. "Зачем мне выносить проверку параметров в отдельный метод, если я могу написать ее тут?", "Для чего необходимо выделять метод поиска максимального элемента в массиве, оставим его тут. Так код яснее", - и прочие заблуждения.

Есть два правила рефакторинга большого метода:

  • Если при написании метода хочется добавить комментарий в код, необходимо выделить этот функционал в отдельный метод
  • Если метод занимает более 50-100 строк кода, следует определить задачи и подзадачи, которые он выполняет, и попробовать вынести подзадачи в отдельный метод

Источники

Сниппеты

Экранирование кода

// BSLLS:MethodSize-off
// BSLLS:MethodSize-on

Параметр конфигурационного файла

"MethodSize": {
    "maxMethodSize": 200
}