Содержание
- 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. Скачать презентацию





































По одежке встречают… 2 класс
Осторожно, Интернет!
Договор мены (бартер) Войнова Анастасия МЭ 082 ДС 01
PASSIVE VOICE
Родительские сценарии, как фактор, влияющий на развитие стресса
B8
Белорусский костюм (1)
Персональные качества менеджеров проектов
Магнитное поле электрического тока
Простые механизмы
ОТЧЕ НАШ…
Итоги тарифного регулирования услуг по передаче электрической энергии в 2012 году
Вычисление объема прямоугольного параллелепипеда
Пейте, пейте молоко – будете здоровы!
РЕАЛИЗАЦИЯ ОРТОПЕДИЧЕСКИХ ИЗДЕЛИЙ В ПРЕМИАЛЬНОМ СЕГМЕНТЕ РЫНКА. - презентация
POST
Профилактическая работа по оптимизации психологического здоровья педагогов
Электронные деньги и их свойства
УМК по информатике для 8 – 11 классов, разработанные авторским коллективом под руководством И.Г.Семакина
Криптографические средства защиты данных
Свойства картона. Выполнение биговки по сгибам деталей
Викторина "Ты и твое здоровье"
Алгоритми
Саша и Юля Гроцкие
Сквозь года звенит Победа
Modern Philosophy
План позиции гощ
Азбука на колёсах