Логотип ConstructiCat
CodeBust.
Навигация по разделу ▾

Завистливые функции.

Метод обращается к данным другого объекта чаще, чем к собственным данным.

##Признаки и симптомы

Метод обращается к данным другого объекта чаще, чем к собственным данным.

class InvoicePrinter {
  String line(Order order) {
    return order.customer.name + ": " + order.item.sku + " x" + order.item.qty;
  }
}

##Причины проблемы

Этот запах может появиться после перемещения каких-то полей в класс данных. В этом случае операции с данными, возможно, также следует переместить в этот класс.

##Лечение

##Результат

  • Уменьшение дублирования кода (если код работы с данными переехал в одно общее место).

  • Улучшение организации кода (так как методы работы с данными находятся возле этих данных).