Friend spotlight!
Whimsical Animations course
Friend spotlight!
NEW Whimsical Animations course
Friend spotlight! NEW Whimsical Animations course
huge discount only this week
Friend spotlight! Want to make your project stand out? NEW Whimsical Animations course huge discount only this week

Группы данных

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

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

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

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

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

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

Лечение

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

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

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

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

Выигрыш

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

  • Уменьшает размер кода.

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

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