Логотип ConstructiCat
CodeBust.
Навигация по разделу ▾

Упрощение вызовов методов.

Маскот архитектурных паттернов
Добавление параметра

Проблема: Методу не хватает данных для осуществления каких-то действий. Решение: Создайте новый параметр, чтобы передать эти данные.

001
Маскот запахов кода
Сокрытие метода

Проблема: Метод не используется другими классами либо используется только внутри своей иерархии классов. Решение: Сделайте метод приватным или защищённым.

002
Маскот рефакторинга
Замена параметров объектом

Проблема: В ваших методах встречается повторяющаяся группа параметров. Решение: Замените эти параметры объектом.

003
Маскот архитектурных паттернов
Параметризация метода

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

004
Маскот антипаттернов
Передача всего объекта

Проблема: Вы получаете несколько значений из объекта, а затем передаёте их в метод как параметры. Решение: Вместо этого передавайте весь объект.

005
Маскот запахов кода
Удаление параметра

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

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

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

007
Маскот архитектурных паттернов
Переименование метода

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

008
Маскот запахов кода
Замена конструктора фабричным методом

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

009
Маскот рефакторинга
Замена кода ошибки исключением

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

010
Маскот архитектурных паттернов
Замена исключения проверкой условия

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

011
Маскот антипаттернов
Замена параметра набором специализированных методов

Проблема: Метод разбит на части, каждая из которых выполняется в зависимости от значения какого-то параметра. Решение: Извлеките отдельные части метода в собственные методы и вызывайте их вместо оригинального метода.

012
Маскот антипаттернов
Замена параметра вызовом метода

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

013
Маскот паттернов проектирования
Разделение запроса и модификатора

Проблема: У вас есть метод, который возвращает какое-то значение, но при этом в процессе работы он изменяет что-то внутри объекта. Решение: Разделите метод на два разных метода. Один из них пускай возвращает значение, а второй модифицирует объект.

014