Автоматизация рефакторинга Офлайн 2021

Программный комитет ещё не принял решения по этому докладу
Владимир Протасов
Parallels

Руководитель команды облачной разработки Parallels, много пишет на Python. Когда не пишет, активно работает со студентами, развивает сообщества и участвует в организации конференций.
Создатель московских Python-завтраков.

Тезисы

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

У нас часто получается автоматизировать даже сложные задачи рефакторинга, и я с удовольствием расскажу вам, как. С реальными примерами.

Подготовительное задание

Полезно будет заранее посмотреть в википедии, что такое Concrete Syntax Tree и чем оно отличается от AST. Также будет полезно прочитать про паттерн Visitor, если с ним никогда не сталкивались.