Управление проектами - статьи

         

Рефакторинг


Рефакторинг (Fowler 1999) – это дисциплинированный способ внесения небольших изменений в исходный код для совершенствования его конструкции, упрощения работы с ним. Важным аспектом рефакторинга является то, что он сохраняет неизменной поведенческую семантику кода – в процессе рефакторинга никогда ничего не добавляется и не удаляется, только совершенствуется качество кода. Примером рефакторинга могло бы быть переименование операции getPersons() в getPeople(). Для реализации этого рефакторинга необходимо изменить определение операции, а затем поменять каждый вызов этой операции в коде приложения. Процесс рефакторинга не завершается до тех пор, пока код снова не заработает так, как раньше.

Аналогично, рефакторинг баз данных (Ambler 2003, Ambler & Sadalage 2006) – это простое изменение схемы реляционной базы данных, которое улучшает ее конструкцию, оставляя неизменной ее поведенческую и информационную семантику. Рефакторингу можно подвергать либо структурные аспекты схемы базы данных, например, определения таблиц и представлений, либо функциональные аспекты, например, хранимые процедуры и триггеры. В процессе рефакторинга схемы базы данных требуется переработать не только саму схему, но и внешние программы (бизнес-приложения или программы извлечения данных), связанные с этой схемой. Очевидно, что рефакторинг баз данных реализуется сложнее рефакторинга кода, потому что не допускается разрушение ни данных, ни функциональных возможностей, поэтому здесь требуется осторожность.



Содержание раздела