Лекция
Привет, Вы узнаете о том , что такое приёмы рефакторинга, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое приёмы рефакторинга, упрощение условных выражений, рефакторинг , настоятельно рекомендую прочитать все из категории Теория рефакторинга.
Логика условного выполнения имеет тенденцию становиться сложной, поэтому ряд рефакторинг ов направлен на то, чтобы упростить ее.
Разбиение условного оператора
Проблема: У вас есть сложный условный оператор (if-then/else или switch).
Решение: Выделите в отдельные методы все сложные части оператора: условие, then и else.
Объединение условных операторов
Проблема: У вас есть несколько условных операторов, ведущих к одинаковому результату или действию.
Решение: Объедините все условия в одном условном операторе.
Объединение дублирующихся фрагментов в условных операторах
Проблема: Одинаковый фрагмент кода находится во всех ветках условного оператора.
Решение: Вынесите его за рамки оператора.
Удаление управляющего флага
Проблема: У вас есть булевская переменная, которая играет роль управляющего флага для нескольких булевских выражений.
Решение: Используйте break, continue и return вместо этой переменной.
Замена вложенных условных операторов граничным оператором
Проблема: У вас есть группа вложенных условных операторов, среди которых сложно выделить нормальный ход выполнения кода.
Решение: Выделите все проверки специальных или граничных случаев выполнения в отдельные условия и поместите их перед основными проверками. Об этом говорит сайт https://intellect.icu . В идеале, вы должны получить «плоский» список условных операторов, идущих один за другим.
Замена условного оператора полиморфизмом
Проблема: У вас есть условный оператор, который, в зависимости от типа или свойств объекта, выполняет различные действия.
Введение Null-объекта
Проблема: Из-за того, что некоторые методы возвращают null вместо реальных объектов, у вас в коде присутствует множество проверок на null.
Решение: Вместо null возвращайте Null-объект, который предоставляет поведение по умолчанию.
Введение проверки утверждения
Проблема: Корректная работа участка кода предполагает наличие каких-то определенных условий или значений.
Решение: Замените эти предположения конкретными проверками.
Комментарии
Оставить комментарий
Теория рефакторинга
Термины: Теория рефакторинга