Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634620)
Контекстум
.
Вестник Воронежского государственного университета. Серия: Системный анализ и информационные технологии  / №2 2008

АЛГЕБРАИЧЕСКИЙ ПОДХОД К РЕШЕНИЮ НЕКОТОРЫХ ЗАДАЧ РЕФАКТОРИНГА (90,00 руб.)

0   0
Первый авторМахортов
АвторыПогореленко В.А.
Страниц9
ID519672
АннотацияВ статье предлагается алгебраический подход к решению некоторых задач рефакторинга объектно-ориентированных систем. Описана основанная на решетках алгебраическая модель, адекватно отражающая иерархии типов и взаимосвязи между ними. Показано, какие задачи рефакторинга могут быть решены с помощью данного подхода. Доказана теорема о замкнутости представленной модели. Эта теорема лежит в основе автоматизации эквивалентных преобразований и оптимизации иерархии типов
УДК519.711.3
Махортов, С.Д. АЛГЕБРАИЧЕСКИЙ ПОДХОД К РЕШЕНИЮ НЕКОТОРЫХ ЗАДАЧ РЕФАКТОРИНГА / С.Д. Махортов, В.А. Погореленко // Вестник Воронежского государственного университета. Серия: Системный анализ и информационные технологии .— 2008 .— №2 .— С. 26-34 .— URL: https://rucont.ru/efd/519672 (дата обращения: 20.04.2024)

Предпросмотр (выдержки из произведения)

РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ УДК 519.711.3 АЛГЕБРАИЧЕСКИЙ ПОДХОД К РЕШЕНИЮ НЕКОТОРЫХ ЗАДАЧ РЕФАКТОРИНГА С. Д. <...> Махортов, В. А. Погореленко Воронежский государственный университет Поступила в редакцию 20.04.2008 г. Аннотация. <...> В статье предлагается алгебраический подход к решению некоторых задач рефакторинга объектно-ориентированных систем. <...> Описана основанная на решетках алгебраическая модель, адекватно отражающая иерархии типов и взаимосвязи между ними. <...> Показано, какие задачи рефакторинга могут быть решены с помощью данного подхода. <...> Эта теорема лежит в основе автоматизации эквивалентных преобразований и оптимизации иерархии типов. <...> РЕШАЕМЫЕ ЗАДАЧИ РЕФАКТОРИНГА Рефакторинг — это изменение исходного кода программной системы с сохранением ее функциональности с целью улучшения качества и продления его жизнеспособности [1]. <...> Одной из основных задач рефакторинга является устранение избыточности кода. <...> Здесь классы Student и Teacher имеют общий атрибут name типа String. <...> Также Student и Teacher унаследованы от общего типа Person. <...> Можно предположить, что изначально классы Teacher и Student разрабатывались независимо друг от друга, и в каждый из них был включен атрибут name. <...> Однако в дальнейшем был создан общий тип Person, задающий общую функциональность классов Student и Teacher. <...> На этапе слияния целесообразно провести рефакторинг и устранить дублирование атрибута name с помощью «подъема поля» [1]. <...> В результате рефак© Махортов С. Д., Погореленко В. А., 2008 28 торинга дублирование общего атрибута name устраняется (см. рис. <...> 1., «после рефакторинга»), но функциональность классов сохраняется — им по-прежнему доступен атрибут name, только теперь уже через наследование. <...> Данный пример является простым и проведение рефакторинга в нем может быть сделано вручную. <...> Однако когда в программной системе имеется большое количество типов (классов), стратегия проведения рефакторинга не является столь очевидной. <...> Рефакторинг дублирующегося атрибута name ВЕСТНИК ВГУ <...>