G
enby!

Искандер Шарипов. Превращаем кусок кода в правила линтера

В данном докладе мы рассмотрим, как можно написать специфичные для вашего проекта диагностики, используя механизм динамических правил в анализаторе NoVerify. Мы также затронем технические детали реализации: – DSL для описания динамических правил; – Текущая реализация движка AST матчинга; – Как можно ускорить AST матчинг; – Как устроен запускатель правил, какие оптимизации мы используем; – Ограничения подхода AST шаблонов; – Сложности реализации, связанные с использованием Go (хотим генерики!) Я также проведу несколько сравнений с go-ruleguard, чтобы описать основные сходства и различия подходов (особенно в плане DSL). Искандер Шарипов в прошлом работал над Go-компилятором и сторонним тулингом для него типа статических анализаторов и утилит для рефакторинга. Сейчас он планирует портировать многие инструменты, созданные для Go, в экосистему PHP. Большая часть его интересов связана с devtools и языками программирования. На данный момент работает во ВКонтакте над NoVerify и компилятором kPHP. Презентация: https://disk.yandex.ru/i/TNgqzIwDRfBWBA
PHPFest: https://2020.phpfest.ru

Смотрите также