ConstructiCat Logo
CodeBust.
Browse section ▾

Составление методов.

Code Smells Mascot
Извлечение метода

Проблема: У вас есть фрагмент кода, который можно сгруппировать. Решение: Выделите участок кода в новый метод (или функцию) и вызовите этот метод вместо старого кода.

001
Architectural Patterns Mascot
Извлечение переменной

Проблема: У вас есть сложное для понимания выражение. Решение: Поместите результат выражения или его части в отдельные переменные, поясняющие суть выражения.

002
Design Patterns Mascot
Встраивание метода

Проблема: Стоит использовать в том случае, когда тело метода очевиднее самого метода. Решение: Замените вызовы метода его содержимым и удалите сам метод.

003
Antipatterns Mascot
Встраивание переменной

Проблема: У вас есть временная переменная, которой присваивается результат простого выражения (и больше ничего). Решение: Замените обращения к переменной этим выражением.

004
Antipatterns Mascot
Удаление присваиваний параметрам

Проблема: Параметру метода присваивается какое-то значение. Решение: Вместо параметра воспользуйтесь новой локальной переменной.

005
Code Smells Mascot
Замена метода объектом методов

Проблема: У вас есть длинный метод, в котором локальные переменные так сильно переплетены, что это делает невозможным применение «извлечения метода». Решение: Преобразуйте метод в отдельный класс так, чтобы локальные переменные стали полями этого класса. После этого можно без труда разделить метод на части.

006
Architectural Patterns Mascot
Замена переменной вызовом метода

Проблема: Вы помещаете результат какого-то выражения в локальную переменную, чтобы использовать её далее в коде. Решение: Выделите все выражение в отдельный метод и возвращайте результат из него. Замените использование вашей переменной вызовом метода. Новый метод может быть использован и в других методах.

007
Antipatterns Mascot
Расщепление переменной

Проблема: У вас есть локальная переменная, которая используется для хранения разных промежуточных значений внутри метода (за исключением переменных циклов). Решение: Используйте разные переменные для разных значений. Каждая переменная должна отвечать только за одну определённую вещь.

008
Refactoring Mascot
Замена алгоритма

Проблема: Вы хотите заменить существующий алгоритм другим? Решение: Замените тело метода, реализующего старый алгоритм, новым алгоритмом.

009