Incluímos nesta edição do Radar duas ferramentas que buscam e substituem código usando uma representação de árvore de sintaxe abstrata (AST). Ambas ocupam um espaço semelhante a jscodeshift, mas contêm analisadores para uma ampla gama de linguagens de programação. Embora compartilhem algumas semelhanças, também diferem de várias maneiras. Uma dessas ferramentas, Comby, é única em sua interface de linha de comando simples projetada no espírito das ferramentas Unix, como awk
e sed
. Enquanto os comandos Unix são baseados em expressões regulares que operam em texto correspondente, Comby emprega uma sintaxe padrão específica para construções de linguagem de programação e analisa o código antes de pesquisar. Isso ajuda as pessoas desenvolvedoras a buscar grandes bases de código para padrões estruturais. Assim como sed
, Comby pode substituir os padrões combinados com novas estruturas. Isso é útil para automatizar alterações indiscriminadas em grandes bases de código ou para realizar alterações repetitivas em um conjunto de repositórios de microsserviços. Como essas ferramentas são relativamente novas, esperamos ver uma variedade de usos criativos que ainda não foram descobertos.