Стрельба дробью
Также известен как: Shotgun Surgery
«Стрельба дробью» похожа на Расходящиеся модификации, но является противоположностью этого запаха. «Расходящиеся модификации» имеют место, когда есть один класс, в котором производится много различных изменений, а «Стрельба дробью» — это одно изменение, затрагивающее много классов.
Симптомы и признаки
При выполнении любых модификаций приходится вносить множество мелких изменений в большое число классов.
Причины появления
Одна обязанность была разделена среди множества классов. Это может случиться после фанатичного исправления Расходящихся модификаций.
Лечение
- Вынести все изменения в один класс позволят перемещение метода и перемещение поля. Если для выполнения этого действия нет подходящего класса, то следует предварительно создать новый.
- Если после вынесения кода в один класс в оригинальных классах мало что осталось, следует попытаться от них избавиться, воспользовавшись встраиванием класса.
Выигрыш
- Улучшает организацию кода.
- Уменьшает дублирование кода.
- Упрощает поддержку.