Что умеет Rector: пишем кастомные правила для автоматизации рефакторинга PHP-проектов

Привет, Хабр! Меня зовут Сережа Сахаров, я PHP-разработчик в Lamoda Tech. Одной из первых задач в компании для меня стал рефакторинг крупной части кодовой базы. Тогда я уже знал о Rector, но использовать его долгое время не доводилось. И в тот момент, что для решения моей задачи он хорошо подойдёт, если добавить еще несколько кастомных правил. В процессе я получил интересный опыт, который выходит за рамки шаблонного применения инструмента, разобрался во внутреннем устройстве и механизмах работы, и хочу поделиться этим с PHP-сообществом. Если вам часто приходится сталкиваться с рефакторингом старых PHP-проектов, при этом их потребности выходят за пределы штатного набора правил, эта статья для вас.

https://habr.com/ru/companies/lamoda/articles/892160/

#php #rector #refactoring #refactoringtool

Что умеет Rector: пишем кастомные правила для автоматизации рефакторинга PHP-проектов

Привет, Хабр! Меня зовут Сережа Сахаров, я PHP-разработчик в Lamoda Tech. Одной из первых задач в компании для меня стал рефакторинг крупной части кодовой базы. Я знал о существовании инструмента для...

Хабр

[Перевод] Анализ AST и рефакторинг кода в Clang

В продолжение темы кастомизации компилятора С++ публикую перевод еще одной интересной статьи от Eli Bendersky AST matchers and Clang refactoring tools . Инструментарий Clang вызывает большой интерес и внимание к разработке в последние годы. Наконец-то у нас есть удобный, точный, с открытым исходным кодом и хорошо поддерживаемый фреймворк для программного анализа и рефакторинга кода C++ и это я нахожу это очень захватывающим! Прекрасным результатом этого быстрого темпа разработки является то, что постоянно появляются новые API и инструменты. Например, некоторое время назад разработчики инструментария Clang выяснили, что людям, выполняющим обходы AST, приходится писать много повторяющегося кода, чтобы найти нужные им узлы AST, поэтому они придумали отличный новый API под названием AST matchers .

https://habr.com/ru/articles/871296/

#clang #llvm #RefactoringTool #clangapplyreplacements #libTooling #ClangTool #clangquery

Анализ AST и рефакторинг кода в Clang

В продолжение темы кастомизации компилятора С++ публикую перевод еще одной интересной статьи от Eli Bendersky AST matchers and Clang refactoring tools . Инструментарий Clang вызывает большой интерес и...

Хабр