1.9 KiB
1.9 KiB
#рефакторинг #запахи_кода
“Стрельба дробью” подобна расходящимся изменениям, но представляет собой их противоположность. Унюхать ее можно, когда при выполнении любых изменений приходится вносить множество мелких модификаций в большое число различных модулей. Когда изменения разбросаны повсюду, их трудно искать и можно пропустить важное изменение.
Признаки
- При выполнении любых модификаций приходится вносить множество мелких изменений в большое число классов
Причины появления
- Одна обязанность была разделена среди множества классов
Рефакторинги
- Перенос функции (Move Function)
- Перенос поля (Move Field)
- Объединение функций в класс (Combine Functions into Class)
- Разделение этапа (Split Phase)
- Встраивание функции (Inline Function)
- Встраивание класса (Inline Class)
Результат
- Улучшает организацию кода
- Уменьшает дублирование кода
- Упрощает поддержку.


