Автоматический рефакторинг кода с помощью codemodesИнструменты

Доклад принят в программу конференции
Александр Мышов
Яндекс.Маркет

Работает в Яндекс.Маркете почти 3 года разработчиком интерфейсов. Сейчас в команде Community. Занимается разработкой отзывов, вопросов и ответов, достижений и многим другим.
До Яндекса работал в 2ГИС в командах Онлайн и web-карт. Занимается opensource-проектами github.com/myshov. Ведет канал в телеграме про разработку t.me/defront.

https://vk.com/amyshov
https://twitter.com/myshov
https://github.com/myshov
Тезисы

Иногда бывает так, что изменение сигнатуры одной функции или обновление зависимости может повлечь за собой несколько дней скрупулёзной работы. Для упрощения и автоматизации этого процесса можно написать свой codemode.

Сodemode - это скрипт, работающий с абстрактным синтаксическим деревом (ast) JavaScript. Цель codemode - автоматизировать рефакторинг кода.

В своем докладе я расскажу про jscodeshift - тулкит для написания codemodes. Покажу и разберу несколько примеров codemodes, начиная с простых и заканчивая теми, которые могут быть использованы в вашем проекте. Вы увидите, что работа с ast на самом деле не такая уж и сложная задача, как может показаться на первый взгляд, и что овладение этим инструментом может дать очень сильный прирост вашей эффективности.

Другие доклады секции Инструменты