2026-02-23 19:52:05 +03:00

2.4 KiB
Raw Blame History

#рефакторинг #запахи_кода

!Pasted image 20241112230602.png

Иногда выясняется, что в некотором классе поле устанавливается только в определенных обстоятельствах. Такой код труден для понимания, поскольку вы ожидаете, что объекту нужны все его поля. Можно сломать голову, пытаясь по­нять, для чего нужна некоторая переменная, если найти, где она используется, никак не удается.

Признаки

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

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

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

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

!Pasted image 20241112230612.png

Рефакторинги

!Pasted image 20241112230618.png

Результат

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

Ссылки