#рефакторинг #методы_рефакторинга ![[Pasted image 20250213084339.png]] ### **Проблема** Значение поля должно быть установлено только в момент создания и больше никогда не меняться ```typescript class Person { get name() {...} set name(aString) {...} } ``` ### **Решение** Удалите методы, устанавливающие значение этого поля ```typescript class Person { get name() {...} } ``` ### **Причины рефакторинга** Вы хотите сделать значение поля неизменяемым. ### **Порядок рефакторинга** 1. Значение поля должно меняться только в конструкторе. Если конструктор не содержит параметра для установки значения, нужно его добавить 2. Найдите все вызовы сеттера 1. Если вызов сеттера стоит сразу после вызова конструктора текущего класса, переместите его аргумент в вызов конструктора и удалите сеттер. 2. Вызовы сеттера в конструкторе замените на прямой доступ к полю. 3. Удалите сеттер ### **Ссылки** - https://refactoring.guru/ru/remove-setting-method - [[Мартин Фаулер - Рефакторинг кода на JavaScript]]