Ограничение на размер метода (MethodSize)¶
Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
---|---|---|---|---|---|
Дефект кода |
BSL OS |
Важный |
Да |
30 |
badpractice |
Параметры¶
Имя | Тип | Описание | Значение по умолчанию |
---|---|---|---|
maxMethodSize |
Целое |
Максимальная длина метода в строках |
200 |
Описание диагностики¶
Существуют громоздкие методы (процедуры и функции), с которыми невозможно эффективно работать именно из-за их огромного размера.
Большой метод зачастую возникает, когда разработчик добавляет в метод новый функционал. "Зачем мне выносить проверку параметров в отдельный метод, если я могу написать ее тут?", "Для чего необходимо выделять метод поиска максимального элемента в массиве, оставим его тут. Так код яснее", - и прочие заблуждения.
Есть два правила рефакторинга большого метода:
- Если при написании метода хочется добавить комментарий в код, необходимо выделить этот функционал в отдельный метод
- Если метод занимает более 50-100 строк кода, следует определить задачи и подзадачи, которые он выполняет, и попробовать вынести подзадачи в отдельный метод
Источники¶
- Рефакторинг архитектуры программного обеспечения: выделение слоев
- Martin Fowler: Refactoring
- Инструменты рефакторинга и отказа от модальности
- Инструменты рефакторинга в 1С
Сниппеты¶
Экранирование кода¶
// BSLLS:MethodSize-off
// BSLLS:MethodSize-on
Параметр конфигурационного файла¶
"MethodSize": {
"maxMethodSize": 200
}