Preview

Труды Института системного программирования РАН

Расширенный поиск

Подход для проведения рефакторинга «Выделение функции» в инструменте Klocwork Insight

https://doi.org/10.15514/ISPRAS-2012-23-7

Полный текст:

Аннотация

В статье рассматривается подход для проведения рефакторинга исходного кода на языках Си/Си++, реализованный в инструменте Klocwork Insight. Приводится подробное описание подхода на примере рефакторинга «Выделение функции». Разбираются способы обработки различных языковых конструкций при проведении рефакторинга, показывается, как структурные изменения в синтаксическом дереве отображаются в изменения исходного кода программы. На основе описанного подхода для проведения рефакторинга предлагается выделить методы для реализации произвольных изменений в программе, выходящих за рамки широко используемых рефакторингов. В конце статьи проводится сравнение с существующими инструментами для проведения рефакторинга.

Об авторе

Н. Л. Луговской
ИСП РАН
Россия


Список литературы

1. В.О. Савицкий, Д.В. Сидоров. Инкрементальный анализ исходного кода на языках C/C++. Труды Института системного программирования РАН, том 22, 2012 г.

2. Мартин Фаулер. Рефакторинг. Улучшение существующего кода.

3. Martin Fowler. Refactoring Home Page. http://www.refactoring.com/

4. http://msdn.microsoft.com/en-us/library/0s21cwxk.aspx

5. http://www.refactoring.com/catalog/extractMethod.html

6. http://www.devexpress.com/Subscriptions/DXperience/DXv2/index.xml

7. http://www.wholetomato.com/products/featureRefactoring.asp

8. http://www.eclipse.org/cdt

9. Michael Ruegg. Eclipse CDT refactoring overview and internals.

10. https://developer.apple.com/xcode

11. Max Schaefer, Oege de Moor. Specifying and implementing refactorings.

12. Zhiying (Vicky) Wang. A Survey of Refactoring Tool Researches.

13. Peter Sommerlad. Retaining comments when refactoring code.

14. Jeffrey Overbey, Ralph Johnson. Generating Rewritable Abstract Syntax Trees.

15. http://www.opennet.ru/docs/RUS/diff/diff-3.html

16. Emerson Murphy-Hill, Andrew Black. Breaking the Barriers to Successful Refactoring: Observations and Tools for Extract Method.

17. С.В. Сыромятников. Декларативный интерфейс поиска дефектов по синтаксическим деревьям: язык KAST. Труды Института системного программирования РАН, том 20, 2011 г.


Для цитирования:


Луговской Н.Л. Подход для проведения рефакторинга «Выделение функции» в инструменте Klocwork Insight. Труды Института системного программирования РАН. 2012;23. https://doi.org/10.15514/ISPRAS-2012-23-7

For citation:


Lugovskoy N.L. The refactoring approach used in Klocwork Insight toolkit. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2012;23. (In Russ.) https://doi.org/10.15514/ISPRAS-2012-23-7

Просмотров: 78


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)