Antes de remover uma API, descubra quem usa o símbolo e quão boa é a prova
O Quasar da Netflix conecta mudanças de bibliotecas a referências semânticas. A principal lição é expor também as lacunas do índice.
A Netflix criou o Quasar para relacionar mudanças na API de uma biblioteca aos repositórios que usam os símbolos alterados.[9] A solução combina referências semânticas, versões consumidas e localizações no código, indo além de verificar incompatibilidade ou listar dependências.[9]
Essa distinção importa na revisão de uma alteração. Saber que um método desapareceu não informa quem o chama. Saber que um projeto depende do pacote também não comprova que ele usa aquele método. Uma decisão de migração precisa aproximar essas duas perguntas sem esconder o que não foi observado.
O que muda para quem desenvolve
Indexadores de linguagem enviam dados no formato SCIP durante a integração contínua; definições e referências ficam em Parquet no S3 e são consultadas com Athena.[9] A revisão compara snapshots dos commits base e final e, quando eles faltam, informa que não pode comparar em vez de substituí-los silenciosamente.[9]
Minha análise: essa recusa é parte do contrato de qualidade. Um relatório vazio baseado no commit errado pode parecer mais útil, mas transmite uma segurança que a evidência não sustenta. Para um agente de código, a cobertura consultada deveria acompanhar a recomendação de remover ou migrar uma interface.
Como aplicar
Escolha uma biblioteca compartilhada pequena e uma alteração pública de teste. Registre o símbolo, a versão afetada e dois consumidores conhecidos, incluindo um que depende do pacote sem usar aquele símbolo.
Construa um relatório que distinga dependência declarada de referência observada. Exija commit indexado, horário do índice e linguagem coberta em cada resultado. O experimento deve mostrar se o mecanismo diferencia os consumidores reais e se avisa quando um índice está ausente ou antigo.
Na revisão, separe três saídas: consumidores encontrados, projetos examinados sem referência observada e projetos sem evidência suficiente. Use a última categoria para investigação, não para aprovar a remoção. Só depois de tornar essa leitura confiável vale conectar o resultado a sugestões automáticas de migração.
Cuidados e limites
O Quasar é interno, não um produto aberto para instalar.[9] Há análise de compatibilidade de API JVM e Protobuf com rastreamento pelo Java gerado; outras linguagens não têm a mesma avaliação descrita.[9]
Reflexão, carregamento dinâmico, cobertura incompleta e índices antigos podem esconder consumidores.[9] O número de 137 repositórios apresentado na matéria é um exemplo ilustrativo, não uma medição geral da ferramenta.[9]
O custo de indexar e manter snapshots precisa caber na frequência de mudança da biblioteca. Para poucos consumidores, um relatório simples e revisado pode bastar. A regra que vale preservar é mais modesta: ausência de referência observada não deve ser reescrita como ausência de impacto.
Fonte
[9] Fonte: Netflix TechBlog