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