10.12.2019. Лекция №16. Рефакторинг (ч.3).

  1. Решение задач обобщения.
  2. Подъем поля (Pull up field).
  3. Подъем метода (Pull up method).
  4. Спуск метода (Push down method).
  5. Спуск поля (Push down field).
  6. Извлечение подкласса (Extract subclass).
  7. Извлечение суперкласса (Extract superclass).
  8. Извлечение интерфейса (Extract interface).
  9. Свертывание иерархии (Collapse hierarchy).
  10. Замена наследования делегированием (Replace Inheritance with delegation).
  11. Замена делегирования наследованием (Replace delegation with inheritance).
  12. Раздувальщики (сode smells).
  13. Длинный метод (Long method).
  14. Большой класс (Large class).
  15. Одержимость элементарными типами (Primitive obsession).
  16. Длинный список параметров (Long parameter list).
  17. Группы данных (Data clumps).
  18. Утяжелители изменений (code smells).
  19. Расходящиеся модификации (Divergent change).
  20. Стрельба дробью (Shotgun surgery).
  21. Замусориватели (code smells).
  22. Комментарии (Comments).
  23. Дублирование кода (Duplicate code).
  24. Мертвый код (Dead code).
  25. Теоретическая общность (Speculate generality).
  26. Опутыватели связями (code smells).
  27. Завистливые функции (Feature envy).
  28. Неуместная близость (Inappropriate intimacy).
  29. Цепочка вызовов (Message chains).
  30. Посредник (Middle man).