Также известен как Remove Setting Method

Рефакторинг Удаление сеттера

Проблема

Значение поля должно быть установлено только в момент создания и больше никогда не меняться.

Решение

Удалите методы, устанавливающие значение этого поля.
До
Remove Setting Method - Before
После
Remove Setting Method - After

Причины рефакторинга

Вы хотите сделать значение поля неизменяемым.

Порядок рефакторинга

  1. Значение поля должно меняться только в конструкторе. Если конструктор не содержит параметра для установки значения, нужно его добавить.

  2. Найдите все вызовы сеттера.

  • Если вызов сеттера стоит сразу после вызова конструктора текущего класса, переместите его аргумент в вызов конструктора и удалите сеттер.
  • Вызовы сеттера в конструкторе замените на прямой доступ к полю.
  1. Удалите сеттер.

Устали читать?

Сбегайте за подушкой, у нас тут контента на 7 часов чтения.

Или попробуйте наш новый интерактивный курс по рефакторингу. Он более информативный и гораздо более интересный, чем банальный текст.

Узнать больше...

Живой пример

Первый раз здесь? Ничего страшного!

У нас здесь всё просто – интерактивный пример очень похож на видео (но выглядит гораздо круче).

  1. После начала проигрывания, вам показываются разнообразные подсказки и сообщения. Вы продвигаетесь дальше, кликая на них.
  2. Вы можете перематывать шаги, используя стрелки слева.
  3. Кроме того, вы можете посмотреть разницу между первоначальным и получившимся кодом, нажав кнопку с глазом ().
  4. Кнопка компиляции () позвоялет проверить текущий код на наличие ошибок.