Также известен как: Shotgun Surgery

Запах кода Стрельба дробью

«Стрельба дробью» похожа на Расходящиеся модификации, но является противоположностью этого запаха. «Расходящиеся модификации» имеют место, когда есть один класс, в котором производится много различных изменений, а «Стрельба дробью» — это одно изменение, затрагивающее много классов.

Симптомы и признаки

При выполнении любых модификаций приходится вносить множество мелких изменений в большое число классов.

Причины появления

Одна обязанность была разделена среди множества классов. Это может случиться после фанатичного исправления Расходящихся модификаций.

Лечение

  • Вынести все изменения в один класс позволят перемещение метода и перемещение поля. Если для выполнения этого действия нет подходящего класса, то следует предварительно создать новый.

  • Если после вынесения кода в один класс в оригинальных классах мало что осталось, следует попытаться от них избавиться, воспользовавшись встраиванием класса.

Выигрыш

  • Улучшает организацию кода.

  • Уменьшает дублирование кода.

  • Упрощает поддержку.