O OpenRewrite continua sendo uma ferramenta eficaz para refatorações em larga escala que seguem um conjunto de regras específicas, tais como migrações para uma nova versão da API de uma biblioteca amplamente utilizada ou aplicação de atualizações em múltiplos serviços criados a partir do mesmo template. Recentemente, a ferramenta passou a oferecer suporte a outras linguagens além do Java, especialmente ao JavaScript. Com ciclos curtos de versões incluindo suporte de longo prazo (LTS) em frameworks como Angular, manter os projetos atualizados com as versões mais recentes tornou-se cada vez mais importante. O OpenRewrite auxilia esse processo de maneira eficaz. O uso de assistentes de programação com IA pode ser uma alternativa, porém, para alterações baseadas em regras, geralmente é mais lento, mais caro e menos confiável. Gostamos que o OpenRewrite já venha acompanhado de um catálogo de recipes (regras), que descrevem exatamente as mudanças a serem feitas. O motor de refatoração, as regras pré-definidas e os plugins para ferramentas de build são todos de código aberto, tornando mais fácil para as equipes adotarem o OpenRewrite quando necessário.
Observamos vários casos de uso para ferramentas de inteligência de código: mover para uma nova versão de API de uma biblioteca amplamente usada, entender o impacto de uma vulnerabilidade recém-descoberta em uma determinada biblioteca de uma empresa, ou aplicar atualizações a muitos serviços que foram criados a partir do mesmo modelo. Sourcegraph ainda é uma ferramenta popular neste ecossistema, e OpenRewrite é uma outra ferramenta que queremos destacar. Embora nossas equipes tenham usado principalmente em Java para problemas específicos, como atualizar serviços criados por meio de um kit de inicialização, ele continua a ampliar sua cobertura de linguagens e casos de uso. Gostamos que ele venha com um catálogo de receitas, que descrevem as alterações a serem feitas, por exemplo, para migrar frameworks comumente usados entre versões. O mecanismo de refatoração, as receitas incluídas e os plugins da ferramenta de compilação são software de código aberto, o que torna mais fácil para as equipes usarem o OpenRewrite apenas quando precisam. Nos resta saber como o amadurecimento do ecossistema de ferramentas de inteligência de código, que são todas baseadas na análise do código-fonte em uma árvore de sintaxe abstrata (AST), será impactado pelo desenvolvimento rápido no ecossistema de LLMs.
