---
title: "Переименование метода"
type: "refactoring-technique"
slug: "rename-method"
url: "http://localhost:3000/ru/rename-method.md"
category: "Упрощение вызовов методов"
description: "Проблема: Название метода не раскрывает суть того, что он делает. Решение: Измените название метода."
---
# Переименование метода

> Проблема: Название метода не раскрывает суть того, что он делает. Решение: Измените название метода.

## Problem

Название метода не раскрывает суть того, что он делает.

## Solution

Измените название метода.

## Why Refactor

Метод мог получить неудачное название с самого начала. Например, кто-то создал метод впопыхах, не придал должного значения хорошему названию.

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

## Benefits

* Улучшает читабельность кода. Постарайтесь дать новому методу такое название, которое бы отражало суть того, что он делает. Например, `createOrder()`, `renderCustomerInfo()` и т. д.

## How to Refactor

1. Проверьте, не определён ли метод в суперклассе или подклассе. Если так, нужно будет повторить все шаги и в этих классах.
2. Следующий шаг важен, чтобы сохранить работоспособность программы во время рефакторинга. Итак, создайте новый метод с новыми именем. Скопируйте туда код старого метода. Удалите весь код в старом методе и вставьте вместо него вызов нового метода.
3. Найдите все обращения к старому методу и замените их обращениями к новому.
4. Удалите старый метод. Этот шаг неосуществим, если старый метод является частью публичного интерфейса. В этом случае, старый метод нужно пометить как устаревший (`deprecated`).
## Relations

**Similar techniques**

- [Добавление параметра](/ru/add-parameter.md)
- [Удаление параметра](/ru/remove-parameter.md)

**Eliminates smells**

- [Альтернативные классы с разными интерфейсами](/ru/smells/alternative-classes-with-different-interfaces.md)
- [Комментарии](/ru/smells/comments.md)

