3.1 KiB
3.1 KiB
#рефакторинг #методы_рефакторинга
Проблема
Название метода не раскрывает суть того, что он делает
!
function circum(radius) {...}
Решение
function circumference(radius) {. . .}
Причины рефакторинга
Наиболее важным элементом такого соединения является имя функции. Хорошее имя позволяет понять, что делает функция, не видя кода, который ее реализует.
- Метод мог получить неудачное название с самого начала. Например, кто-то создал метод впопыхах, не придал должного значения хорошему названию.
- С другой стороны, метод мог быть назван удачно изначально, но ввиду расширения его функциональности, имя метода перестало быть актуальным.
Достоинства
-
- Улучшает читабельность кода. Постарайтесь дать новому методу такое название, которое бы отражало суть того, что он делает. Например,
createOrder(),renderCustomerInfo()и т. д.
- Улучшает читабельность кода. Постарайтесь дать новому методу такое название, которое бы отражало суть того, что он делает. Например,
Порядок рефакторинга
- Проверьте, не определён ли метод в суперклассе или подклассе. Если так, нужно будет повторить все шаги и в этих классах
- Следующий шаг важен, чтобы сохранить работоспособность программы во время рефакторинга. Итак, создайте новый метод с новыми именем. Скопируйте туда код старого метода. Удалите весь код в старом методе и вставьте вместо него вызов нового метода
- Найдите все обращения к старому методу и замените их обращениями к новому
- Удалите старый метод. Этот шаг неосуществим, если старый метод является частью публичного интерфейса. В этом случае, старый метод нужно пометить как устаревший (
deprecated)

