Полная версия

Главная arrow Информатика arrow Архитектура и проектирование программных систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Методы рефакторинга

Основные методы

К наиболее часто употребляемым методам рефакторинга можно отнести [17]:

  • • изменение сигнатуры метода (change method signature);
  • • инкапсуляцию поля (encapsulate field);
  • • выделение класса (extract class);
  • • выделение интерфейса (extract interface);
  • • выделение локальной переменной (extract local variable);
  • • выделение метода (extract method);
  • • генерализацию типа (generalize type);
  • • встраивание (inline);
  • • введение фабрики (introduce factory);
  • • введение параметра (introduce parameter);
  • • подъем поля/метода (pull up);
  • • спуск поля/метода (push down);
  • • замену условного оператора полиморфизмом (replace conditional with polymorphism).

Пожалуй, наилучшие рекомендации и практические советы по описанию и иллюстрации использования методов рефакторинга программного кода в объектно ориентированных программах можно найти в монографии М. Фаулера [33].

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

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

Читателям, желающим получить более подробную информацию и рассмотреть конкретные примеры рефакторинга, рекомендуется обратиться к литературе, перечень которой дан в конце главы.

 
<<   СОДЕРЖАНИЕ   >>