Содержание
- 2. Refactoring Martin Fowler Рефакторинг (сущ.) Изменение во внутренней структуре программного обеспечения, имеющее целью облегчить понимание его
- 3. Example double PaymentAmount() { if ( quantity if ( months > 12 ) return 0; //
- 4. Why Refactor? Рефакторинг улучшает результаты проектирования ПО - без рефакторинга структура проекта будет ухудшаться, т.к. разработчики
- 5. When Refactor? Правило «Трех страйков» - если, минимум, в 3 местах дублируется код, применяйте рефакторинг При
- 6. Principles in Refactoring Рефакторинг должен быть: Систематичный Поэтапный Безопасный Польза рефакторинга: В большинстве случаев объем кода
- 7. Problems with Refactoring Рефакторить аспекты, связанные с БД, гораздо сложнее Некоторые рефакторинги требуют серьезных изменений интерфейсов
- 8. Refactoring Vs. Optimization Код меняется, а функциональность не меняется При рефакторинге код становится понятнее; при оптимизации
- 9. “Bad Smells” in Code Дублирование кода (Duplicated Code) Ситуации: - один и тот же участок кода
- 10. “Bad Smells” in Code Большой класс (Large Class) Часто из-за больших классов увеличивается сцепление и уменьшается
- 11. “Bad Smells” in Code Стрельба дробью (Shotgun Surgery) При выполнении любых модификаций приходится вносить много мелких
- 12. “Bad Smells” in Code Одержимость элементарными типами (Primitive Obsession) Избегание методики обертки данных в классы Операторы
- 13. “Bad Smells” in Code Ленивый класс (Lazy Class) Класс, существование которого уже не целесообразно (например, он
- 14. “Bad Smells” in Code Временное поле (Temporary Field) В некотором объекте свойство устанавливается / меняется только
- 15. “Bad Smells” in Code Неуместная близость (Inappropriate Intimacy) Пара классов, которые слишком много знают и позволяют
- 16. “Bad Smells” in Code Классы данных (Data Class) Классы, которые содержат только свойства, геттеры и сеттеры
- 17. Refactorings Реорганизация функций и данных Составление методов Перемещение функций между объектами Реорганизация данных Упрощение вызовов методов
- 18. Refactorings Составление методов Выделение метода Встраивание метода Встраивание временной переменной Замена временной переменной вызовом метода Введение
- 19. Extract Method Описание: Есть участок кода, который можно сгруппировать. Действие: Поместить участок кода в метод, название
- 20. Extract Method (Example)
- 21. Refactorings Описание: Тело метода столь же понятно, как и его название. Действие: Поместить тело метода в
- 22. Refactorings Описание: Есть временная переменная, к-ой один раз присваивается простое выражение, и она мешает проведению «Выделения
- 23. Refactorings Описание: временная переменная используется для хранения значения выражения Действие: преобразовать выражение в метод. Заменить все
- 24. Refactorings Описание: имеется сложное выражение Действие: поместить результат выражения или его части во временную переменную, имя
- 25. Refactorings Описание: имеется временная переменная, которой неоднократно присваивается значение, но это не переменная цикла и не
- 26. Refactorings Описание: выполняется присваивание параметру Действие: заменить это временной переменной Прием «Удаление присваиваний параметрам» double discount(
- 27. Refactorings Перемещение функций между объектами Перемещение метода Перемещение поля Выделение класса Встраивание класса Сокрытие делегирования Удаление
- 28. Refactorings Описание: объект-клиент обращается к делегируемому классу объекта Действие: создать на объекте-сервере методы, скрывающие делегирование Прием
- 29. Refactorings Реорганизация данных Самоинкапсуляция поля Замена значения объектом Замена значения ссылкой (и наоборот) Замена массива объектом
- 30. Refactorings Упрощение вызовов методов Переименование метода Добавление / удаление параметра Разделение запроса и модификатора Параметризация метода
- 31. Refactorings Описание: Несколько методов выполняют сходные действия, но с разными значениями, содержащимися в теле метода Действие:
- 32. Refactorings Реорганизация условных выражений Декомпозиция условного оператора Консолидация условного выражения Консолидация дублирующихся условных фрагментов Удаление управляющего
- 33. Refactorings Описание: имеется сложная условная цепочка проверок Действие: выделить методы из условия, блоков THEN и ELSE
- 34. Refactorings Описание: имеется ряд проверок условия, дающих одинаковый результат Действие: объединить их в одно условное выражение
- 35. Refactorings Описание: один и тот же фрагмент кода присутствует во всех ветвях условного выражения Действие: переместить
- 36. Refactorings Описание: имеется переменная-флаг Действие: использовать вместо нее break или return Прием «Удаление управляющего флага»
- 37. Refactorings Реорганизация обобщений Подъем поля / Подъем метода Спуск поля / Спуск метода Выделение подкласса Выделение
- 38. Refactorings Описание: в подклассах есть методы с одинаковыми результатами Действие: переместить их в родительский класс Прием
- 40. Скачать презентацию





































Лечение от табакокурения
ISO 9001-2015 и менеджмент коммуникаций
Оценка и калькулирование
Установите соответствие Понятие 1 Понятие 2 Понятие 3 Понятие 4 Понятие 5 Соответствие 3 Соответствие 4 Соответствие 5 Соответствие 2
Презентация новинок FREDERIC M. Сезон 2017-2018
Школьная жизнь в фактах и цифрах
Услуги по управлению персоналом организаций
Мирный атом, или энергия будущего
Свердлова парк
Презентация на тему Тургенев Иван Сергеевич Повесть «Ася»
Презентация на тему Строение ДНК
Разнообразие животных Беспозвоночные
Презентация на тему Буква С с
Strings and regular expressions
Цикл жизни IT-специалиста в современной компании. IT и HR: взаимодействие
Рынок платной стоматологии Москвы
Родионов Антон Владимирович Кандидат медицинских наук
Система Электронный кассир. Возможности применения в курьерских и транспортных службах
Иван Константинович Айвазовский (29.07.1817- 02.05.1900 г.г.)
Восприятие русской аудиторией образа женщины-воина в современной японской массовой культуре
Современная электрическая нагрузка квартиры на примере высокочастотных установок
Факультет психологии
Осциллограф H3015
Приглашение к сотрудничеству
ФОРМУЛЫ
Вступление (Наименование компании) в саморегулируемую организацию (СРО) : основная идея, шаги по организации, механизмы реализации,
Презентация на тему БИОЛОГИЧЕСКИ АКТИВНЫЕ ДОБАВКИ К ПИЩЕ: ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ ИСПОЛЬЗОВАНИЯ
LED Куб