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

Временное поле.

Временные поля — это поля, которые нужны объекту только при определённых обстоятельствах. Только тогда они заполняются какими-то значениями, оставаясь пустыми в остальное время.

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

Временные поля — это поля, которые нужны объекту только при определённых обстоятельствах. Только тогда они заполняются какими-то значениями, оставаясь пустыми в остальное время.

class Report {
  Money tempTotal; // задаётся только внутри print()
  void print() { tempTotal = sum(); write(tempTotal); }
  void export() { write(tempTotal); } // равно null, если сначала не вызвать print()
}

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

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

Такой код очень трудно понять. Вы ожидаете увидеть данные в полях объекта, а они почему-то пустуют почти все время.

##Лечение

##Результат

  • Улучшает понятность и организацию кода.