Рефакторинг в удовольствие: миф или реальность? Язык Python, его эволюция и использование

Доклад принят в программу конференции
Владимир Протасов
Yandex.Cloud

Двигает инфраструктурные проекты в Yandex.Cloud. Писал в продакшн на 20+ языках, любит Haskell, Rust и Erlang, но в последнее время пишет по ночам и на Python :)
Создатель московских Python-завтраков. Активно участвует в организации конференций.

https://t.me/ask_prolog_bot
Тезисы

Рефакторинг — боль. Часто, когда нужно сделать что-то сложнее переименования локальной переменной в функции, можно потратить несколько дней, сначала внося изменения и допинывая автоматику IDE, а потом исправляя рассыпавшиеся тесты и вылавливая случайно пролезшие несвязанные изменения в местах с похожими именами. При этом чем больше у вас кода, тем страшнее проблема.

И каждый раз, сталкиваясь с задачей, которая мне не нравится, я задумываюсь: можно ли иначе? Оказывается, можно. По моему опыту, задачи рефакторинга с правильными инструментами автоматизации могут быть не менее интересны, чем разработка фич, и я расскажу вам, как привнести этот интерес и в вашу работу.

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

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

Другие доклады секции Язык Python, его эволюция и использование