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

Большой класс.

Класс содержит множество полей/методов/строк кода.

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

Класс содержит множество полей/методов/строк кода.

class OrderManager {
  void create() {}
  void validate() {}
  void charge() {}
  void refund() {}
  void ship() {}
  void track() {}
  void sendNotification() {}
  void archive() {}
}

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

Классы редко бывают большими изначально. Но со временем постепенно многие из них «раздуваются» в связи с развитием программы.

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

##Лечение

##Результат

  • Рефакторинг таких классов избавит разработчиков от необходимости запоминать чрезмерное количество имеющихся у класса атрибутов.

  • Во многих случаях разделение больших классов на части позволяет избежать дублирования кода и функциональности.