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

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

Тимлид команды облачной разработки Parallels, много пишет на Python. Когда не пишет, активно работает со студентами (в том числе читает лекции в университетах и ведет стажировки).

vprotasov@parallels.com
Тезисы

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

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

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

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