Также известен как Data Clumps

Запах кода Группы данных

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

Иногда в разных частях кода встречаются одинаковые группы переменных (например, параметры подключения к базе данных). Такие группы следует превращать в самостоятельные классы.

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

Появление групп данных является следствием плохой структурированности программы или программирования методом копирования-вставки.

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

Лечение

  • Если повторяющиеся данные являются полями какого-то класса, используйте извлечение класса для перемещения полей в собственный класс.
  • Если те же группы данных передаются в параметрах методов, используйте замену параметров объектом чтобы выделить их в общий класс.
  • Если некоторые из этих данных передаются в другие методы, подумайте о возможности передачи в метод всего объекта данных вместо отдельных полей (в этом поможет передача всего объекта).
  • Посмотрите на код, который использует эти поля. Возможно, имеет смысл перенести этот код в класс данных.

Выигрыш

  • Улучшает понимание и организацию кода. Операции над определёнными данными теперь собраны в одном месте, и их не надо искать по всему коду.
  • Уменьшает размер кода.

Не стоит трогать, если...

  • Передача всего объекта в параметрах метода вместо передачи его значений (элементарных типов) может создать нежелательную зависимость между двумя классами.

Устали читать?

Сбегайте за подушкой, у нас тут контента на 7 часов чтения.

Или попробуйте наш интерактивный курс. Он гораздо более интересный, чем банальный текст.

Узнать больше...