Este documento traz orientações para quem está implementando um analisador.
Geral
- Analise todos os arquivos enviados, exceto arquivos tests/invalidator/editor/example/exemplar
- Não busque 100% de acerto, algo praticamente impossível de alcançar.
Não tem problema se o analisador não encontrar todos os problemas ou não conseguir inferir algumas tags.
Compilação
Se a sua linguagem exige uma etapa de compilação, considere estes pontos:
- Compilar a solução geralmente permite uma fidelidade maior.
Por exemplo, o tipo definitivo de um valor só é conhecido depois da compilação.
Mas fique atento aos trade-offs (por exemplo, execução mais lenta e mais uso de memória).
- Considere a compilação em memória (se possível) para melhorar o desempenho.
Testes
- Tenha uma suíte de testes abrangente
- Use testes golden para verificar o comportamento do analisador.
Esses testes devem usar a imagem Docker que será publicada para verificar o analisador.
- Considere ter testes para cada abordagem.
Você quer que o analisador funcione bem para essas soluções, e isso vai ajudar a atribuir tags às abordagens mais adiante.