Master
Ferramentas

Spectral

Published: Apr 13, 2021
Apr 2021
Avalie?

Um padrão que vimos se repetir nesta publicação é que ferramentas estáticas de verificação de erros e estilo surgem rapidamente após uma nova linguagem ganhar popularidade. Essas ferramentas são genericamente conhecidas como linters — em homenagem ao clássico e amado utilitário do Unix, lint, que analisa estaticamente código em C. Gostamos dessas ferramentas porque elas detectam os erros cedo, antes mesmo que o código seja compilado. A instância mais recente desse padrão é Spectral, um linter para YAML e JSON. Embora Spectral seja uma ferramenta genérica para esses formatos, seus alvos principais são OpenAPI (a evolução do Swagger) e AsyncAPI. O Spectral vem com um conjunto abrangente de regras prontas para usar para especificações que podem evitar dores de cabeça para pessoas desenvolvedoras ao projetar e implementar APIs ou colaboração orientada a eventos. Essas regras verificam as especificações adequadas aos parâmetros da API ou a existência de uma declaração de licença na especificação, entre outras coisas. Embora essa ferramenta seja uma adição bem-vinda ao fluxo de desenvolvimento de APIs, ela levanta a questão: uma especificação não executável deve ser tão complexa a ponto de exigir uma técnica de verificação de erros projetada para linguagens de programação? Talvez as pessoas desenvolvedoras devam se concentrar em escrever código, e não especificações.